package org.dbpedia.extraction.config.dataparser

import java.util.Locale
import scala.collection.mutable


object FlagTemplateParserConfig
{
    val templateMap = Map(
        "en" -> Set(
            "flagicon",      //{{flagicon|countryname|variant=|size=}}
            "flag",          //{{flag|countryname|variant=|size=}}
            "flagcountry"    //{{flagcountry|countryname|variant=|size=|name=}}
        ),
        "es" -> Set(
            "bandera",       //{{bandera|countryname|variant|tamaño=}}
            "bandera2"       //{{bandera2|countryname|variant|nombre=|tamaño=}}
        ),
        "eu" -> Set(
            "bandera"        //{{bandera|countryname|variant|tamaina=}}
        ),
        "fr" -> Set(
            "drapeau",       //{{drapeau|countryname|variant|taille=}}
            "drapeau2"       //{{drapeau2|countryname|variant|année=|domaine=|genre=|nombre=|lien=|taille=|align=}}
        ),
        "ja" -> Set(
            "flagicon",      //{{flagicon|countryname|size=|name=}}
            "flagicon2",     //{{flagicon2|countryname|variant=|size=}}
            "flag",          //{{flag|countryname|variant=|size=}}
            "flagcountry"    //{{flagcountry|countryname|size=}}
        ),
        "pl" -> Set(
            "państwo",       //{{państwo|countryname|wariant=|nazwa=|rozmiar=|altlink=}}
            "państwol",      //{{państwol|countryname|wariant=|nazwa=|rozmiar=|altlink=}}
            "państwolink",   //{{państwolink|countryname|wariant=|nazwa=|rozmiar=|altlink=}}
            "bandera"        //{{bandera|countryname|wariant=|nazwa=|rozmiar=|altlink=}}
        ),
        "sv" -> Set(
            "flagga"         //{{flagga|countryname|variant|namn=}}
        )
    )
    
      
    private lazy val baseLangCodeMap = Map(
        //english (en) as _
        // For "ar" configuration, rendering right-to-left may seems like a bug, but it's not.
        // Don't change this unless you know how it is done.
        "ar" ->
          Map(
            "AFG"->"أفغانستان",
            "ALA"->"جزر آلاند",
            "ALB"->"ألبانيا",
            "DEU"->"ألمانيا",
            "DZA"->"الجزائر",
            "AND"->"أندورا",
            "AGO"->"أنغولا",
            "AIA"->"أنغيلا",
            "ATA"->"أنتاركتيكا",
            "ATG"->"أنتيغوا وباربودا",
            "ANT"->"جزر الأنتيل الهولندية",
            "SAU"->"المملكة العربية السعودية",
            "ARG"->"الأرجنتين",
            "ARM"->"أرمينيا",
            "ABW"->"أروبا",
            "AUS"->"أستراليا",
            "AUT"->"النمسا",
            "AZE"->"أذربيجان",
            "BHS"->"جزر البهاما",
            "BHR"->"البحرين",
            "BGD"->"بنغلاديش",
            "BRB"->"بربادوس",
            "BEL"->"بلجيكا",
            "BLZ"->"بليز",
            "BEN"->"البنين",
            "BMU"->"جزر برمودا",
            "BTN"->"بوتان",
            "BLR"->"روسيا البيضاء",
            "BOL"->"بوليفيا",
            "BIH"->"البوسنة و الهرسك",
            "BWA"->"بوتسوانا",
            "BVT"->"جزيرة بوفيه",
            "BRA"->"البرازيل",
            "BRN"->"بروناي",
            "BGR"->"بلغاريا",
            "BFA"->"بوركينا فاسو",
            "BDI"->"بوروندي",
            "CYM"->"جزر كايمان",
            "KHM"->"كمبوديا",
            "CMR"->"الكاميرون",
            "CAN"->"كندا",
            "CPV"->"الرأس الأخضر",
            "CAF"->"جمهورية أفريقيا الوسطى",
            "CXR"->"جزيرة الكريسماس",
            "CCK"->"جزر كوكس",
            "COL"->"كولومبيا",
            "COM"->"جزر القمر",
            "COG"->"جمهورية الكونغو",
            "COD"->"جمهورية الكونغو الديمقراطية",
            "COK"->"جزر كوك",
            "PRK"->"كوريا الشمالية",
            "KOR"->"كوريا الجنوبية",
            "CIV"->"ساحل العاج",
            "CRI"->"كوستاريكا",
            "HRV"->"كرواتيا",
            "CUB"->"كوبا",
            "DNK"->"الدنمارك",
            "DJI"->"جيبوتي",
            "DMA"->"دومينيكا",
            "DOM"->"جمهورية الدومينيكان",
            "EGY"->"مصر",
            "ECU"->"الاكوادور",
            "ARE"->"الإمارات العربية المتحدة",
            "ERI"->"إريتريا",
            "SVK"->"سلوفاكيا",
            "SVN"->"سلوفينيا",
            "ESP"->"إسبانيا",
            "USA"->"الولايات المتحدة",
            "EST"->"استونيا",
            "ETH"->"إثيوبيا",
            "FRO"->"جزر فارو",
            "FJI"->"فيجي",
            "PHL"->"الفلبين",
            "FIN"->"فنلندا",
            "FRA"->"فرنسا",
            "GAB"->"الغابون",
            "GMB"->"غامبيا",
            "GEO"->"جورجيا",
            "SGS"->"جورجيا الجنوبية وجزر ساندويتش الجنوبية",
            "GHA"->"غانا",
            "GIB"->"جبل طارق",
            "GRC"->"اليونان",
            "GRD"->"جرينادا",
            "GRL"->"غرينلاند",
            "GLP"->"جوادلوب",
            "GUF"->"غويانا الفرنسية",
            "GUM"->"غوام",
            "GTM"->"غواتيمالا",
            "GIN"->"جمهورية غينيا",
            "GNB"->"غينيا بيساو",
            "GNQ"->"غينيا الاستوائية",
            "GUY"->"غيانا",
            "HTI"->"هايتي",
            "HMD"->"جزيرة هيرد وجزر ماكدونال",
            "HND"->"هندوراس",
            "HKG"->"هونغ كونغ",
            "HUN"->"هنغاريا",
            "YEM"->"اليمن",
            "UMI"->"جزر أمريكا البعيدة الصغيرة",
            "IND"->"الهند",
            "IDN"->"أندونيسيا",
            "IRN"->"إيران",
            "IRQ"->"العراق",
            "IRL"->"إيرلندا",
            "ISL"->"أيسلندا",
            "ISR"->"إسرائيل",
            "ITA"->"إيطاليا",
            "JAM"->"جامايكا",
            "JPN"->"اليابان",
            "JOR"->"الأردن",
            "KAZ"->"كازاخستان",
            "KEN"->"كينيا",
            "KGZ"->"قرغيزستان",
            "KIR"->"كيريباتي",
            "KWT"->"الكويت",
            "LAO"->"لاوس",
            "LSO"->"ليسوتو",
            "LVA"->"لاتفيا",
            "LBN"->"لبنان",
            "LBR"->"ليبيريا",
            "LBY"->"ليبيا",
            "LIE"->"ليختنشتاين",
            "LTU"->"ليتوانيا",
            "LUX"->"لوكسمبورغ",
            "MAC"->"ماكاو",
            "MKD"->"مقدونيا",
            "MDG"->"مدغشقر",
            "MYS"->"ماليزيا",
            "MWI"->"ملاوي",
            "MDV"->"جزر المالديف",
            "MLI"->"مالي",
            "MLT"->"مالطا",
            "FLK"->"جزر مالفيناس",
            "MNP"->"جزر ماريانا الشمالية",
            "MAR"->"المغرب",
            "MHL"->"جزر مارشال",
            "MTQ"->"مارتينيك",
            "MUS"->"موريشيوس",
            "MRT"->"موريتانيا",
            "MYT"->"مايوت",
            "MEX"->"المكسيك",
            "FSM"->"ولايات ميكرونيسيا المتحدة",
            "MOZ"->"موزمبيق",
            "MDA"->"مولدافيا",
            "MCO"->"موناكو",
            "MNG"->"منغوليا",
            "MNE"->"الجبل الأسود",
            "MSR"->"مونتسيرات",
            "MMR"->"ميانمار",
            "NAM"->"ناميبيا",
            "NRU"->"ناورو",
            "NPL"->"نيبال",
            "NIC"->"نيكاراغوا",
            "NER"->"النيجر",
            "NGA"->"نيجيريا",
            "NIU"->"نيوي",
            "NFK"->"جزيرة نورفولك",
            "NOR"->"النرويج",
            "NCL"->"كاليدونيا الجديدة",
            "NZL"->"نيوزيلندا",
            "OMN"->"عمان",
            "NLD"->"هولندا",
            "PAK"->"باكستان",
            "PLW"->"بالاو",
            "PSE"->"فلسطين",
            "PAN"->"بنما",
            "PNG"->"بابوا غينيا الجديدة",
            "PRY"->"باراغواي",
            "PER"->"بيرو",
            "PCN"->"جزر بيتكيرن",
            "PYF"->"بولينزيا الفرنسية",
            "POL"->"بولونيا",
            "PRT"->"البرتغال",
            "PRI"->"بورتوريكو",
            "QAT"->"قطر",
            "GBR"->"المملكة المتحدة",
            "REU"->"ريونيون",
            "ROU"->"رومانيا",
            "RUS"->"روسيا",
            "RWA"->"رواندا",
            "ESH"->"الصحراء الغربية",
            "KNA"->"سانت كيتس ونيفيس",
            "LCA"->"سانت لوسيا",
            "SPM"->"سان بيار وميكلون",
            "VCT"->"سانت فنسينت والجرينادين",
            "SLB"->"جزر سليمان",
            "SLV"->"السلفادور",
            "WSM"->"ساموا",
            "ASM"->"ساموا الأمريكية",
            "SMR"->"سان مارينو",
            "SHN"->"سانتا هيلينا",
            "STP"->"ساو تومي وبرينسيب",
            "SEN"->"السنغال",
            "SRB"->"صربيا",
            "SYC"->"سيشيل",
            "SLE"->"سيراليون",
            "SGP"->"سنغافورة",
            "SYR"->"سوريا",
            "SOM"->"الصومال",
            "LKA"->"سري لانكا",
            "ZAF"->"جنوب إفريقيا",
            "SDN"->"السودان",
            "SWE"->"السويد",
            "CHE"->"سويسرا",
            "SUR"->"سورينام",
            "SJM"->"سوالبارد و یان ماین",
            "SWZ"->"سوازيلاند",
            "TJK"->"طاجيكستان",
            "THA"->"تايلاند",
            "TWN"->"تايوان",
            "TZA"->"تنزانيا",
            "IOT"->"إقليم المحيط الهندي البريطاني",
            "ATF"->"المقاطعات الجنوبية الفرنسية",
            "TLS"->"تيمور الشرقية",
            "TGO"->"توغو",
            "TKL"->"توكيلاو",
            "TON"->"تونغا",
            "TTO"->"ترينيداد وتوباغو",
            "TUN"->"تونس",
            "TKM"->"تركمانستان",
            "TCA"->"جزر توركس وكايكوس",
            "TUR"->"تركيا",
            "TUV"->"توفالو",
            "TCD"->"تشاد",
            "CZE"->"التشيك",
            "UKR"->"أوكرانيا",
            "UGA"->"أوغندا",
            "URY"->"أوروغواي",
            "UZB"->"أوزبكستان",
            "VUT"->"فانواتو",
            "VAT"->"الفاتيكان",
            "VEN"->"فنزويلا",
            "VGB"->"الجزر العذراء البريطانية",
            "VIR"->"جزر العذراء الأمريكية",
            "VNM"->"فيتنام",
            "WLF"->"والس وفوتونا",
            "CHL"->"تشيلي",
            "CHN"->"الصين",
            "CYP"->"قبرص",
            "ZMB"->"زامبيا",
            "ZWE"->"زيمبابوي"
          ), // ar end

        "ca" ->
            Map(
                "AFG"->"Afganistan",
                "ALA"->"Illes Åland",
                "ALB"->"Albània",
                "DEU"->"Alemanya",
                "DZA"->"Algèria",
                "AND"->"Andorra",
                "AGO"->"Angola",
                "AIA"->"Anguilla",
                "ATA"->"Antàrtida",
                "ATG"->"Antigua i Barbuda",
                "ANT"->"Antilles Neerlandeses",
                "SAU"->"Aràbia Saudita",
                "ARG"->"Argentina",
                "ARM"->"Armènia",
                "ABW"->"Aruba",
                "AUS"->"Austràlia",
                "AUT"->"Àustria",
                "AZE"->"Azerbaidjan",
                "BHS"->"Bahames",
                "BHR"->"Bahrain",
                "BGD"->"Bangla Desh",
                "BRB"->"Barbados",
                "BEL"->"Bèlgica",
                "BLZ"->"Belize",
                "BEN"->"Benín",
                "BMU"->"Bermudes",
                "BTN"->"Bhutan",
                "BLR"->"Bielorússia",
                "BOL"->"Bolívia",
                "BIH"->"Bòsnia i Hercegovina",
                "BWA"->"Botswana",
                "BVT"->"Bouvet",
                "BRA"->"Brasil",
                "BRN"->"Brunei",
                "BGR"->"Bulgària",
                "BFA"->"Burkina Faso",
                "BDI"->"Burundi",
                "CYM"->"Illes Caiman",
                "KHM"->"Cambodja",
                "CMR"->"Camerun",
                "CAN"->"Canadà",
                "CPV"->"Cap Verd",
                "CAF"->"República Centreafricana",
                "CXR"->"Illa Christmas",
                "CCK"->"Illes Cocos",
                "COL"->"Colòmbia",
                "COM"->"Comores",
                "COG"->"República del Congo",
                "COD"->"República Democràtica del Congo",
                "COK"->"Illes Cook",
                "PRK"->"Corea del Nord",
                "KOR"->"Corea del Sud",
                "CIV"->"Costa d'Ivori",
                "CRI"->"Costa Rica",
                "HRV"->"Croàcia",
                "CUB"->"Cuba",
                "DNK"->"Dinamarca",
                "DJI"->"Djibouti",
                "DMA"->"Dominica",
                "DOM"->"República Dominicana",
                "EGY"->"Egipte",
                "ECU"->"Equador",
                "ARE"->"Emirats Àrabs Units",
                "ERI"->"Eritrea",
                "SVK"->"Eslovàquia",
                "SVN"->"Eslovènia",
                "ESP"->"Espanya",
                "USA"->"Estats Units",
                "EST"->"Estònia",
                "ETH"->"Etiòpia",
                "FRO"->"Illes Fèroe",
                "FJI"->"Fiji",
                "PHL"->"Filipines",
                "FIN"->"Finlàndia",
                "FRA"->"França",
                "GAB"->"Gabon",
                "GMB"->"Gàmbia",
                "GEO"->"Geòrgia",
                "SGS"->"Illes Geòrgia del Sud i Sandwich del Sud",
                "GHA"->"Ghana",
                "GIB"->"Gibraltar",
                "GRC"->"Grècia",
                "GRD"->"Grenada",
                "GRL"->"Grenlàndia",
                "GLP"->"Guadeloupe",
                "GUF"->"Guaiana Francesa",
                "GUM"->"Guam",
                "GTM"->"Guatemala",
                "GIN"->"República de Guinea",
                "GNB"->"Guinea Bissau",
                "GNQ"->"Guinea Equatorial",
                "GUY"->"Guyana",
                "HTI"->"Haití",
                "HMD"->"Illa i McDonald Heard",
                "HND"->"Hondures",
                "HKG"->"Hong Kong",
                "HUN"->"Hongria",
                "YEM"->"Iemen",
                "UMI"->"Illes Perifèriques Menors dels EUA",
                "IND"->"Índia",
                "IDN"->"Indonèsia",
                "IRN"->"Iran",
                "IRQ"->"Iraq",
                "IRL"->"Irlanda",
                "ISL"->"Islàndia",
                "ISR"->"Israel",
                "ITA"->"Itàlia",
                "JAM"->"Jamaica",
                "JPN"->"Japó",
                "JOR"->"Jordània",
                "KAZ"->"Kazakhstan",
                "KEN"->"Kenya",
                "KGZ"->"Kirguizistan",
                "KIR"->"Kiribati",
                "KWT"->"Kuwait",
                "LAO"->"Laos",
                "LSO"->"Lesotho",
                "LVA"->"Letònia",
                "LBN"->"Líban",
                "LBR"->"Libèria",
                "LBY"->"Líbia",
                "LIE"->"Liechtenstein",
                "LTU"->"Lituània",
                "LUX"->"Luxemburg",
                "MAC"->"Macau",
                "MKD"->"Macedònia",
                "MDG"->"Madagascar",
                "MYS"->"Malàisia",
                "MWI"->"Malawi",
                "MDV"->"Maldives",
                "MLI"->"Mali",
                "MLT"->"Malta",
                "FLK"->"Illes Malvines",
                "MNP"->"Illes Mariannes Septentrionals",
                "MAR"->"Marroc",
                "MHL"->"Illes Marshall",
                "MTQ"->"Martinica",
                "MUS"->"Maurici",
                "MRT"->"Mauritània",
                "MYT"->"Mayotte",
                "MEX"->"Mèxic",
                "FSM"->"Estats Federats de Micronèsia",
                "MOZ"->"Moçambic",
                "MDA"->"Moldàvia",
                "MCO"->"Mònaco",
                "MNG"->"Mongòlia",
                "MNE"->"Montenegro",
                "MSR"->"Montserrat",
                "MMR"->"Myanmar",
                "NAM"->"Namíbia",
                "NRU"->"Nauru",
                "NPL"->"Nepal",
                "NIC"->"Nicaragua",
                "NER"->"Níger",
                "NGA"->"Nigèria",
                "NIU"->"Niue",
                "NFK"->"Illa Norfolk",
                "NOR"->"Noruega",
                "NCL"->"Nova Caledònia",
                "NZL"->"Nova Zelanda",
                "OMN"->"Oman",
                "NLD"->"Països Baixos",
                "PAK"->"Pakistan",
                "PLW"->"Palau",
                "PSE"->"Palestina",
                "PAN"->"Panamà",
                "PNG"->"Papua Nova Guinea",
                "PRY"->"Paraguai",
                "PER"->"Perú",
                "PCN"->"Illes Pitcairn",
                "PYF"->"Polinèsia Francesa",
                "POL"->"Polònia",
                "PRT"->"Portugal",
                "PRI"->"Puerto Rico",
                "QAT"->"Qatar",
                "GBR"->"Regne Unit",
                "REU"->"Illa de la Reunió",
                "ROU"->"Romania",
                "RUS"->"Rússia",
                "RWA"->"Rwanda",
                "ESH"->"Sàhara Occidental",
                "KNA"->"Saint Kitts i Nevis",
                "LCA"->"Saint Lucia",
                "SPM"->"Saint-Pierre i Miquelon",
                "VCT"->"Saint Vincent i les Grenadines",
                "SLB"->"Salomó",
                "SLV"->"El Salvador",
                "WSM"->"Samoa",
                "ASM"->"Samoa Nord-americana",
                "SMR"->"San Marino",
                "SHN"->"Santa Helena",
                "STP"->"São Tomé i Príncipe",
                "SEN"->"Senegal",
                "SRB"->"Sèrbia",
                "SYC"->"Seychelles",
                "SLE"->"Sierra Leone",
                "SGP"->"Singapur",
                "SYR"->"Síria",
                "SOM"->"Somàlia",
                "LKA"->"Sri Lanka",
                "ZAF"->"Sud-àfrica",
                "SDN"->"Sudan",
                "SWE"->"Suècia",
                "CHE"->"Suïssa",
                "SUR"->"Surinam",
                "SJM"->"Svalbard i Jan Mayen",
                "SWZ"->"Swazilàndia",
                "TJK"->"Tadjikistan",
                "THA"->"Tailàndia",
                "TWN"->"Taiwan",
                "TZA"->"Tanzània",
                "IOT"->"Territori Britànic de l'Oceà Índic",
                "ATF"->"Territoris Francesos del Sud",
                "TLS"->"Timor Oriental",
                "TGO"->"Togo",
                "TKL"->"Tokelau",
                "TON"->"Tonga",
                "TTO"->"Trinitat i Tobago",
                "TUN"->"Tunísia",
                "TKM"->"Turkmenistan",
                "TCA"->"Illes Turks i Caicos",
                "TUR"->"Turquia",
                "TUV"->"Tuvalu",
                "TCD"->"Txad",
                "CZE"->"República Txeca",
                "UKR"->"Ucraïna",
                "UGA"->"Uganda",
                "URY"->"Uruguai",
                "UZB"->"Uzbekistan",
                "VUT"->"Vanuatu",
                "VAT"->"Ciutat del Vaticà",
                "VEN"->"Veneçuela",
                "VGB"->"Illes Verges Britàniques",
                "VIR"->"Illes Verges Nord-americanes",
                "VNM"->"Vietnam",
                "WLF"->"Wallis i Futuna",
                "CHL"->"Xile",
                "CHN"->"Xina",
                "CYP"->"Xipre",
                "ZMB"->"Zàmbia",
                "ZWE"->"Zimbabwe",
                // Non ISO codes
                "ALE"->"Alemanya"
            ), // ca end
        "el" ->
            Map(
                "BLM"->"Άγιος Βαρθολομαίος",
                "MAF"->"Άγιος Μαρτίνος",
                "ALA"->"Άαλαντ",
                "VCT"->"Άγιος Βικέντιος",
                "SMR"->"Άγιος Μαρίνος",
                "SPM"->"Άγιος Πέτρος και Μικελόν",
                "KNA"->"Άγιος Χριστόφορος και Νέβις",
                "AZE"->"Αζερμπαϊτζάν",
                "EGY"->"Αίγυπτος",
                "ETH"->"Αιθιοπία",
                "HTI"->"Αϊτή",
                "CIV"->"Ακτή Ελεφαντοστού",
                "ALB"->"Αλβανία",
                "DZA"->"Αλγερία",
                "ASM"->"Αμερικανική Σαμόα",
                "TLS"->"Ανατολικό Τιμόρ",
                "AGO"->"Ανγκόλα",
                "AIA"->"Ανγκουίλα",
                "AND"->"Ανδόρρα",
                "ATA"->"Ανταρκτική",
                "ATG"->"Αντίγκουα και Μπαρμπούντα",
                "ARG"->"Αργεντινή",
                "ARM"->"Αρμενία",
                "ABW"->"Αρούμπα",
                "AUS"->"Αυστραλία",
                "AUT"->"Αυστρία",
                "AFG"->"Αφγανιστάν",
                "VUT"->"Βανουάτου",
                "VAT"->"Βατικανό",
                "BEL"->"Βέλγιο",
                "VEN"->"Βενεζουέλα",
                "BMU"->"Βερμούδες",
                "VNM"->"Βιετνάμ",
                "MMR"->"Βιρμανία",
                "BOL"->"Βολιβία",
                "PRK"->"Βόρεια Κορέα",
                "BIH"->"Βοσνία-Ερζεγοβίνη",
                "BGR"->"Βουλγαρία",
                "BRA"->"Βραζιλία",
                "IOT"->"Βρετανικό Έδαφος Ινδικού Ωκεανού",
                "VGB"->"Βρετανικές Παρθένοι Νήσοι",
                "FRA"->"Γαλλία",
                "ATF"->"Γαλλικά νότια και ανταρκτικά εδάφη",
                "GUF"->"Γαλλική Γουιάνα",
                "PYF"->"Γαλλική Πολυνησία",
                "DEU"->"Γερμανία",
                "GEO"->"Γεωργία",
                "GIB"->"Γιβραλτάρ",
                "GMB"->"Γκάμπια",
                "GAB"->"Γκαμπόν",
                "GHA"->"Γκάνα",
                "GGY"->"Γκέρνσεϋ",
                "GUM"->"Γκουάμ",
                "GLP"->"Γουαδελούπη",
                "GTM"->"Γουατεμάλα",
                "GUY"->"Γουιάνα",
                "GIN"->"Γουινέα",
                "GNB"->"Γουινέα-Μπισσάου",
                "GRD"->"Γρενάδα",
                "GRL"->"Γροιλανδία",
                "DNK"->"Δανία",
                "CAF"->"Κεντροαφρικανική Δημοκρατία",
                "DOM"->"Δομινικανή Δημοκρατία",
                "PSE"->"Δυτική Όχθη",
                "ESH"->"Δυτική Σαχάρα",
                "SLV"->"Ελ Σαλβαδόρ",
                "CHE"->"Ελβετία",
                "GRC"->"Ελλάδα",
                "GRE"->"Ελλάδα",
                "ERI"->"Ερυθραία",
                "EST"->"Εσθονία",
                "ZMB"->"Ζάμπια",
                "ZWE"->"Ζιμπάμπουε",
                "ARE"->"Ηνωμένα Αραβικά Εμιράτα",
                "USA"->"Ηνωμένες Πολιτείες",
                "UMI"->"Ηνωμένες Πολιτείες - Μικρά απομακρυσμένα νησιά",
                "GBR"->"Ηνωμένο Βασίλειο",
                "JPN"->"Ιαπωνία",
                "IND"->"Ινδία",
                "IDN"->"Ινδονησία",
                "JOR"->"Ιορδανία",
                "IRQ"->"Ιράκ",
                "IRN"->"Ιράν",
                "IRL"->"Ιρλανδία",
                "GNQ"->"Ισημερινή Γουινέα",
                "ECU"->"Ισημερινός",
                "ISL"->"Ισλανδία",
                "ESP"->"Ισπανία",
                "ISR"->"Ισραήλ",
                "ITA"->"Ιταλία",
                "KAZ"->"Καζακστάν",
                "CMR"->"Καμερούν",
                "KHM"->"Καμπότζη",
                "CAN"->"Καναδάς",
                "QAT"->"Κατάρ",
                "NLD"->"Κάτω Χώρες",
                "KEN"->"Κένυα",
                "CHN"->"Κίνα",
                "KGZ"->"Κιργιζιστάν",
                "KIR"->"Κιριμπάτι",
                "COG"->"Κογκό",
                "COL"->"Κολομβία",
                "COM"->"Κομόρες",
                "CRI"->"Κόστα Ρίκα",
                "CUB"->"Κούβα",
                "KWT"->"Κουβέιτ",
                "HRV"->"Κροατία",
                "CYP"->"Κύπρος",
                "COD"->"Λαϊκή Δημοκρατία του Κογκό",
                "LAO"->"Λάος",
                "LSO"->"Λεσότο",
                "LVA"->"Λετονία",
                "BLR"->"Λευκορωσία",
                "LBN"->"Λίβανος",
                "LBR"->"Λιβερία",
                "LBY"->"Λιβύη",
                "LTU"->"Λιθουανία",
                "LIE"->"Λιχτενστάιν",
                "LUX"->"Λουξεμβούργο",
                "MYT"->"Μαγιότ",
                "MDG"->"Μαδαγασκάρη",
                "MAC"->"Μακάο",
                "MYS"->"Μαλαισία",
                "MWI"->"Μαλάουι",
                "MDV"->"Μαλδίβες",
                "MLI"->"Μάλι",
                "MLT"->"Μάλτα",
                "MAR"->"Μαρόκο",
                "MTQ"->"Μαρτινίκα",
                "MUS"->"Μαυρίκιος",
                "MRT"->"Μαυριτανία",
                "MNE"->"Μαυροβούνιο",
                "MEX"->"Μεξικό",
                "MNG"->"Μογγολία",
                "MOZ"->"Μοζαμβίκη",
                "MDA"->"Μολδαβία",
                "MCO"->"Μονακό",
                "MSR"->"Μοντσερράτ",
                "BGD"->"Μπαγκλαντές",
                "BRB"->"Μπαρμπάντος",
                "BHS"->"Μπαχάμες",
                "BHR"->"Μπαχρέιν",
                "BLZ"->"Μπελίζε",
                "BEN"->"Μπενίν",
                "BWA"->"Μποτσουάνα",
                "BFA"->"Μπουρκίνα Φάσο",
                "BDI"->"Μπουρούντι",
                "BTN"->"Μπουτάν",
                "BRN"->"Μπρουνέι",
                "NAM"->"Ναμίμπια",
                "NRU"->"Ναουρού",
                "NZL"->"Νέα Ζηλανδία",
                "NCL"->"Νέα Καληδονία",
                "NPL"->"Νεπάλ",
                "BVT"->"Μπουβέ",
                "NFK"->"Νησί Νόρφολκ",
                "CXR"->"Νησί των Χριστουγέννων",
                "CCK"->"Νησιά Κόκος (Keeling)",
                "ALA"->"Ώλαντ",
                "MNP"->"Βόρειες Μαριάνες Νήσοι",
                "MHL"->"Νήσοι Μάρσαλ",
                "PCN"->"Νησιά Πίτκερν",
                "CYM"->"Νήσοι Καίυμαν",
                "COK"->"Νήσοι Κουκ",
                "SLB"->"Νήσοι του Σολομώντος",
                "FRO"->"Νήσοι Φερόες",
                "FLK"->"Νήσοι Φώκλαντ",
                "IMN"->"Νήσος Μαν",
                "HMD"->"Νήσοι Χερντ και Μακντόναλντ",
                "NER"->"Νίγηρας",
                "NGA"->"Νιγηρία",
                "NIC"->"Νικαράγουα",
                "NIU"->"Νιούε",
                "NOR"->"Νορβηγία",
                "ZAF"->"Νότια Αφρική",
                "SGS"->"Νήσοι Νότια Γεωργία και Νότιες Σάντουιτς",
                "KOR"->"Νότια Κορέα",
                "DMA"->"Ντομίνικα",
                "ANT"->"Ολλανδικές Αντίλλες",
                "OMN"->"Ομάν",
                "FSM"->"Ομόσπονδα Κράτη της Μικρονησίας",
                "HND"->"Ονδούρα",
                "WLF"->"Ουάλις και Φουτούνα",
                "HUN"->"Ουγγαρία",
                "UGA"->"Ουγκάντα",
                "UZB"->"Ουζμπεκιστάν",
                "UKR"->"Ουκρανία",
                "URY"->"Ουρουγουάη",
                "PAK"->"Πακιστάν",
                "PLW"->"Παλάου",
                "PAN"->"Παναμάς",
                "PNG"->"Παπούα - Νέα Γουϊνέα",
                "PRY"->"Παραγουάη",
                "VIR"->"Αμερικανικές Παρθένοι Νήσοι",
                "MKD"->"ΠΓΔΜ",
                "PER"->"Περού",
                "POL"->"Πολωνία",
                "PRT"->"Πορτογαλία",
                "PRI"->"Πουέρτο Ρίκο",
                "CPV"->"Πράσινο Ακρωτήρι",
                "REU"->"Ρεϋνιόν",
                "RWA"->"Ρουάντα",
                "ROU"->"Ρουμανία",
                "RUS"->"Ρωσία",
                "WSM"->"Σαμόα",
                "SHN"->"Νήσος Αγίας Ελένης",
                "LCA"->"Σάντα Λουτσία",
                "STP"->"Σάο Τομέ και Πρίνσιπε",
                "SAU"->"Σαουδική Αραβία",
                "SJM"->"Σβάλμπαρντ",
                "SEN"->"Σενεγάλη",
                "SRB"->"Σερβία",
                "SYC"->"Σεϋχέλλες",
                "SLE"->"Σιέρα Λεόνε",
                "SGP"->"Σιγκαπούρη",
                "SVK"->"Σλοβακία",
                "SVN"->"Σλοβενία",
                "SOM"->"Σομαλία",
                "SWZ"->"Σουαζηλάνδη",
                "SDN"->"Σουδάν",
                "SWE"->"Σουηδία",
                "SUR"->"Σουρινάμ",
                "LKA"->"Σρι Λάνκα",
                "SYR"->"Συρία",
                "TWN"->"Ταϊβάν",
                "THA"->"Ταϊλάνδη",
                "TZA"->"Τανζανία",
                "TJK"->"Τατζικιστάν",
                "JAM"->"Τζαμάικα",
                "JEY"->"Τζέρσεϋ",
                "DJI"->"Τζιμπουτί",
                "TON"->"Τόγκα",
                "TGO"->"Τόγκο",
                "TKL"->"Τοκελάου",
                "TUV"->"Τουβαλού",
                "TUR"->"Τουρκία",
                "TKM"->"Τουρκμενιστάν",
                "TCA"->"Τερκ και Κάικος",
                "TTO"->"Τρινιντάντ και Τομπάγκο",
                "TCD"->"Τσαντ",
                "CZE"->"Τσεχία",
                "TUN"->"Τυνησία",
                "YEM"->"Υεμένη",
                "PHL"->"Φιλιππίνες",
                "FIN"->"Φινλανδία",
                "FJI"->"Φίτζι",
                "CHL"->"Χιλή",
                "HKG"->"Χονγκ Κονγκ"
            ), // el end
      "es" ->
          Map(
              "AFG"->"Afganistán",
              "ALB"->"Albania",
              "DZA"->"Argelia",
              "AND"->"Andorra",
              "AGO"->"Angola",
              "AIA"->"Anguila",
              "ATA"->"Antártida",
              "ATG"->"Antigua y Barbuda",
              "SAU"->"Arabia Saudí",
              "ARG"->"Argentina",
              "ARM"->"Armenia",
              "ABW"->"Aruba",
              "AUS"->"Australia",
              "AUT"->"Austria",
              "AZE"->"Azerbaiyán",
              "BHS"->"Bahamas",
              "BHR"->"Baréin",
              "BGD"->"Bangladés",
              "BRB"->"Barbados",
              "BEL"->"Bélgica",
              "BLZ"->"Belice",
              "BEN"->"Benín",
              "BMU"->"Bermudas",
              "BTN"->"Bután",
              "BLR"->"Bielorrusia",
              "MMR"->"Birmania",
              "BOL"->"Bolivia",
              "BIH"->"Bosnia y Herzegovina",
              "BWA"->"Botsuana",
              "BRA"->"Brasil",
              "BRN"->"Brunéi",
              "IOT"->"Territorio Británico del Océano Índico",
              "VGB"->"Islas Vírgenes Británicas",
              "BGR"->"Bulgaria",
              "BFA"->"Burkina Faso",
              "BDI"->"Burundi",
              "CHL"->"Chile",
              "CHN"->"China",
              "HRV"->"Croacia",
              "CYP"->"Chipre",
              "TCD"->"Chad",
              "MNE"->"Montenegro",
              "CZE"->"República Checa",
              "UMI"->"Islas Ultramarinas de Estados Unidos",
              "DNK"->"Dinamarca",
              "COD"->"República democrática del Congo",
              "DMA"->"Dominica",
              "DOM"->"República Dominicana",
              "DJI"->"Yibuti",
              "EGY"->"Egipto",
              "ECU"->"Ecuador",
              "ERI"->"Eritrea",
              "EST"->"Estonia",
              "ETH"->"Etiopía",
              "FLK"->"Islas Malvinas",
              "FJI"->"Fiji",
              "PHL"->"Filipinas",
              "FIN"->"Finlandia",
              "FRA"->"Francia",
              "ATF"->"Territorios Australes Franceses",
              "GAB"->"Gabón",
              "GMB"->"Gambia",
              "SGS"->"Islas Georgias del Sur y Sandwich del Sur",
              "GHA"->"Ghana",
              "GIB"->"Gibraltar",
              "GRC"->"Grecia",
              "GRD"->"Granada",
              "GRL"->"Groenlandia",
              "GEO"->"Georgia",
              "GUM"->"Guam",
              "GGY"->"Guernsey",
              "GUF"->"Guayana Francesa",
              "GUY"->"Guyana",
              "GLP"->"Guadalupe",
              "GTM"->"Guatemala",
              "GNB"->"Guinea-Bissau",
              "GNQ"->"Guinea Ecuatorial",
              "GIN"->"Guinea",
              "HTI"->"Haití",
              "ESP"->"España",
              "NLD"->"Países Bajos",
              "HND"->"Honduras",
              "HKG"->"Hong Kong",
              "IND"->"India",
              "IDN"->"Indonesia",
              "IRQ"->"Irak",
              "IRN"->"Irán",
              "IRL"->"Irlanda",
              "ISL"->"Islandia",
              "ISR"->"Israel",
              "JAM"->"Jamaica",
              "JPN"->"Japón",
              "YEM"->"Yemen",
              "JEY"->"Jersey",
              "JOR"->"Jordania",
              "CYM"->"Islas Caimán",
              "KHM"->"Camboya",
              "CMR"->"Camerún",
              "CAN"->"Canadá",
              "QAT"->"Catar",
              "KAZ"->"Kazajistán",
              "KEN"->"Kenia",
              "KGZ"->"Kirguistán",
              "KIR"->"Kiribati",
              "COL"->"Colombia",
              "COM"->"Comoras",
              "COG"->"República del Congo",
              "KOR"->"Corea del Sur",
              "PRK"->"Corea dle Norte",
              "CRI"->"Costa Rica",
              "CUB"->"Cuba",
              "KWT"->"Kuwait",
              "LAO"->"Laos",
              "LSO"->"Lesoto",
              "LBN"->"Líbano",
              "LBR"->"Liberia",
              "LBY"->"Libia",
              "LIE"->"Liechtenstein",
              "LTU"->"Lituania",
              "LUX"->"Luxemburgo",
              "LVA"->"Letonia",
              "MKD"->"República de Macedonia",
              "MDG"->"Madagascar",
              "MYT"->"Mayotte",
              "MAC"->"Macao",
              "MWI"->"Malaui",
              "MDV"->"Maldivas",
              "MYS"->"Malasia",
              "MLI"->"Mali",
              "MLT"->"Malta",
              "MNP"->"Islas Marianas del Norte",
              "MAR"->"Marruecos",
              "MTQ"->"Martinica",
              "MRT"->"Mauritania",
              "MUS"->"Mauricio",
              "MEX"->"México",
              "FSM"->"Micronesia",
              "MDA"->"Moldavia",
              "MCO"->"Mónaco",
              "MNG"->"Mongolia",
              "MSR"->"Montserrat",
              "MOZ"->"Mozambique",
              "NAM"->"Namibia",
              "NRU"->"Nauru",
              "NPL"->"Nepal",
              "DEU"->"Alemania",
              "NER"->"Níger",
              "NGA"->"Nigeria",
              "NIC"->"Nicaragua",
              "NIU"->"Niue",
              "NFK"->"Norfolk",
              "NOR"->"Noruega",
              "NCL"->"Nueva Caledonia",
              "NZL"->"Nueva Zelanda",
              "OMN"->"Omán",
              "PAK"->"Pakistán",
              "PLW"->"Palaos",
              "PSE"->"Autoridad Nacional Palestina",
              "PAN"->"Panamá",
              "PNG"->"Papúa Nueva Guinea",
              "PRY"->"Paraguay",
              "PER"->"Perú",
              "PCN"->"Islas Pitcairn",
              "PYF"->"Polinesia Francesa",
              "POL"->"Polonia",
              "PRI"->"Puerto Rico",
              "PRT"->"Portugal",
              "TWN"->"Taiwán",
              "ZAF"->"Sudáfrica",
              "CAF"->"República Centroafricana",
              "CPV"->"Cabo Verde",
              "REU"->"Reunión",
              "RUS"->"Rusia",
              "ROU"->"Rumanía",
              "RWA"->"Ruanda",
              "ESH"->"República Árabe Saharaui Democrática",
              "KNA"->"San Cristóbal y Nieves",
              "LCA"->"Santa Lucía",
              "VCT"->"San Vicente y las Granadinas",
              "BLM"->"San Bartolomé",
              "MAF"->"San Martín",
              "SPM"->"San Pedro y Miquelón",
              "SLV"->"El Salvador",
              "ASM"->"Samoa Estadounidense",
              "WSM"->"Samoa",
              "SMR"->"San Marino",
              "SEN"->"Senegal",
              "SRB"->"Serbia",
              "SYC"->"Seychelles",
              "SLE"->"Sierra Leona",
              "SGP"->"Singapur",
              "SXM"->"Isla de San Martín",
              "SVK"->"Eslovaquia",
              "SVN"->"Eslovenia",
              "SOM"->"Somalia",
              "LKA"->"Sri Lanka",
              "USA"->"Estados Unidos",
              "SWZ"->"Suazilandia",
              "SDN"->"Sudán",
              "SUR"->"Surinam",
              "SJM"->"Svalbard y Jan Mayen",
              "SYR"->"Siria",
              "CHE"->"Suiza",
              "SWE"->"Suecia",
              "TJK"->"Tayikistán",
              "THA"->"Tailandia",
              "TZA"->"Tanzania",
              "TLS"->"Timor Oriental",
              "TGO"->"Togo",
              "TKL"->"Tokelau",
              "TON"->"Tonga",
              "TTO"->"Trinidad y Tobago",
              "TUN"->"Túnez",
              "TUR"->"Turquía",
              "TKM"->"Turkmenistán",
              "TCA"->"Islas Turcas y Caicos",
              "TUV"->"Tuvalu",
              "UGA"->"Uganda",
              "UKR"->"Ucrania",
              "URY"->"Uruguay",
              "UZB"->"Uzbekistán",
              "VUT"->"Vanuatu",
              "WLF"->"Wallis y Futuna",
              "VAT"->"Ciudad del Vaticano",
              "VEN"->"Venezuela",
              "HUN"->"Hungría",
              "GBR"->"Reino Unido",
              "VNM"->"Vietnam",
              "ITA"->"Italia",
              "CIV"->"Costa de Marfil",
              "BVT"->"Isla Bouvet",
              "CXR"->"Isla de Navidad",
              "IMN"->"Isla de Man",
              "SHN"->"Santa Elena, Ascensión y Tristán de Acuña",
              "ALA"->"Islas de Aland",
              "COK"->"Islas Cook",
              "VIR"->"Islas Vírgenes de los Estados Unidos",
              "HMD"->"Islas Heard y McDonald",
              "CCK"->"Islas Cocos",
              "MHL"->"Islas Marshall",
              "FRO"->"Islas Feroe",
              "SLB"->"Islas Salomón",
              "STP"->"Santo Tomé y Príncipe",
              "ZMB"->"Zambia",
              "ZWE"->"Zimbabue",
              "ARE"->"Emiratos Árabes Unidos"
            ), //end es
        "eu" ->
            Map(
                "AFG"->"Afganistan",
                "CAF"->"Afrika Erdiko Errepublika",
                "ALA"->"Åland uharteak",
                "ALB"->"Albania",
                "DEU"->"Alemania",
                "DZA"->"Aljeria",
                "ASM"->"Amerikar Samoa",
                "AND"->"Andorra",
                "AIA"->"Angila",
                "AGO"->"Angola",
                "ATA"->"Antartika",
                "ARE"->"Arabiar Emirerri Batuak",
                "ATG"->"Antigua eta Barbuda",
                "ARG"->"Argentina",
                "ARM"->"Armenia",
                "ABW"->"Aruba",
                "AUS"->"Australia",
                "AUT"->"Austria",
                "AZE"->"Azerbaijan",
                "BHS"->"Bahamak",
                "BGD"->"Bangladesh",
                "BRB"->"Barbados",
                "BHR"->"Bahrain",
                "BEL"->"Belgika",
                "BLZ"->"Belize",
                "BEN"->"Benin",
                "BMU"->"Bermuda",
                "BLR"->"Bielorrusia",
                "VGB"->"Birjina uharte britainiarrak",
                "VIR"->"Birjina uharte amerikarrak",
                "CIV"->"Boli Kosta",
                "BOL"->"Bolivia",
                "BIH"->"Bosnia-Herzegovina",
                "BWA"->"Botswana",
                "BVT"->"Bouvet Uhartea",
                "BRA"->"Brasil",
                "BRN"->"Brunei",
                "BGR"->"Bulgaria",
                "BFA"->"Burkina Faso",
                "BDI"->"Burundi",
                "BTN"->"Bhutan",
                "CXR"->"Christmas uhartea",
                "CCK"->"Cocos (Keeling) uharteak",
                "COK"->"Cook Uharteak",
                "DNK"->"Danimarka",
                "DJI"->"Djibuti",
                "DMA"->"Dominika",
                "DOM"->"Dominikar Errepublika",
                "EGY"->"Egipto",
                "TLS"->"Ekialdeko Timor",
                "ECU"->"Ekuador",
                "GNQ"->"Ekuatore Ginea",
                "ERI"->"Eritrea",
                "GBR"->"Erresuma Batua",
                "ROU"->"Errumania",
                "RUS"->"Errusia",
                "SVK"->"Eslovakia",
                "SVN"->"Eslovenia",
                "ESP"->"Espainia",
                "USA"->"Ameriketako Estatu Batuak",
                "UMI"->"Ameriketako Estatu Batuetako itsasoz haraindiko uharteak",
                "EST"->"Estonia",
                "ETH"->"Etiopia",
                "FRO"->"Faroe Uharteak",
                "FJI"->"Fiji",
                "PHL"->"Filipinak",
                "FIN"->"Finlandia",
                "FRA"->"Frantzia",
                "GUF"->"Frantziar Guyana",
                "PYF"->"Frantziar Polinesia",
                "GAB"->"Gabon",
                "GMB"->"Gambia",
                "GEO"->"Georgia",
                "GHA"->"Ghana",
                "GIB"->"Gibraltar",
                "GIN"->"Ginea",
                "GNB"->"Ginea-Bissau",
                "GRD"->"Grenada",
                "GRC"->"Grezia",
                "GRL"->"Groenlandia",
                "GLP"->"Guadalupe",
                "GUM"->"Guam",
                "GTM"->"Guatemala",
                "GGY"->"Guernsey",
                "GUY"->"Guyana",
                "HTI"->"Haiti",
                "HMD"->"Heard eta McDonald Uharteak",
                "ZAF"->"Hegoafrika",
                "SGS"->"Hegoaldeko Georgiak eta Hegoaldeko Sandwich uharteak",
                "KOR"->"Hego Korea",
                "ATF"->"Frantziaren lurralde austral eta antartikoak",
                "NLD"->"Herbehereak",
                "ANT"->"Holandarren Antillak",
                "HND"->"Honduras",
                "HKG"->"Hong Kong",
                "HUN"->"Hungaria",
                "IND"->"India",
                "IDN"->"Indonesia",
                "PRK"->"Ipar Korea",
                "MNP"->"Iparraldeko Mariana Uharteak",
                "IRQ"->"Irak",
                "IRN"->"Iran",
                "IRL"->"Irlandako Errepublika",
                "ISL"->"Islandia",
                "ISR"->"Israel",
                "ITA"->"Italia",
                "JAM"->"Jamaika",
                "JPN"->"Japonia",
                "JEY"->"Jersey",
                "JOR"->"Jordania",
                "CPV"->"Cabo Verde",
                "CYM"->"Kaiman uharteak",
                "NCL"->"Kaledonia Berria",
                "CMR"->"Kamerun",
                "CAN"->"Kanada",
                "KHM"->"Kanbodia",
                "KAZ"->"Kazakhstan",
                "KEN"->"Kenya",
                "KGZ"->"Kirgizistan",
                "KIR"->"Kiribati",
                "COL"->"Kolonbia",
                "COM"->"Komoreak",
                "COG"->"Kongoko Errepublika",
                "COD"->"Kongoko Errepublika Demokratikoa",
                "CRI"->"Costa Rica",
                "HRV"->"Kroazia",
                "CUB"->"Kuba",
                "KWT"->"Kuwait",
                "LAO"->"Laos",
                "LSO"->"Lesotho",
                "LVA"->"Letonia",
                "LBN"->"Libano",
                "LBR"->"Liberia",
                "LBY"->"Libia",
                "LIE"->"Liechtenstein",
                "LTU"->"Lituania",
                "LUX"->"Luxenburgo",
                "MDG"->"Madagaskar",
                "MAC"->"Macau",
                "MKD"->"Mazedoniako Errepublika",
                "MYS"->"Malaysia",
                "MWI"->"Malawi",
                "FLK"->"Falkland Uharteak",
                "MDV"->"Maldivak",
                "MLI"->"Mali",
                "MLT"->"Malta",
                "IMN"->"Man Uhartea",
                "MAR"->"Maroko",
                "MHL"->"Marshall Uharteak",
                "MTQ"->"Martinika",
                "MRT"->"Mauritania",
                "MUS"->"Maurizio",
                "MYT"->"Mayotte",
                "ESH"->"Mendebaldeko Sahara",
                "MEX"->"Mexiko",
                "FSM"->"Mikronesiako Estatu Federatuak",
                "MDA"->"Moldavia",
                "MCO"->"Monako",
                "MNG"->"Mongolia",
                "MNE"->"Montenegro",
                "MSR"->"Montserrat",
                "MOZ"->"Mozambike",
                "MMR"->"Myanmar",
                "NAM"->"Namibia",
                "NRU"->"Nauru",
                "NPL"->"Nepal",
                "NER"->"Niger",
                "NGA"->"Nigeria",
                "NIC"->"Nikaragua",
                "NIU"->"Niue",
                "NFK"->"Norfolk uhartea",
                "NOR"->"Norvegia",
                "OMN"->"Oman",
                "IOT"->"Indiako Ozeanoko Britainiar Lurraldea",
                "PAK"->"Pakistan",
                "PLW"->"Palau",
                "PSE"->"Palestina",
                "PAN"->"Panama",
                "PNG"->"Papua Ginea Berria",
                "PRY"->"Paraguai",
                "PER"->"Peru",
                "PCN"->"Pitcairn uharteak",
                "POL"->"Polonia",
                "PRT"->"Portugal",
                "PRI"->"Puerto Rico",
                "QAT"->"Qatar",
                "REU"->"Reunion",
                "RWA"->"Ruanda",
                "SPM"->"Saint-Pierre eta Mikelune",
                "SLV"->"El Salvador",
                "SLB"->"Salomon Uharteak",
                "WSM"->"Samoa",
                "VCT"->"Saint Vincent eta Grenadinak",
                "KNA"->"Saint Kitts eta Nevis",
                "SMR"->"San Marino",
                "STP"->"Sao Tome eta Principe",
                "SHN"->"Santa Helena, Ascension eta Tristan da Cunha",
                "LCA"->"Santa Luzia",
                "SAU"->"Saudi Arabia",
                "SEN"->"Senegal",
                "SRB"->"Serbia",
                "SYC"->"Seychelleak",
                "SLE"->"Sierra Leona",
                "SGP"->"Singapur",
                "SYR"->"Siria",
                "SOM"->"Somalia",
                "LKA"->"Sri Lanka",
                "SWZ"->"Swazilandia",
                "SDN"->"Sudan",
                "SWE"->"Suedia",
                "CHE"->"Suitza",
                "SUR"->"Surinam",
                "THA"->"Thailandia",
                "TWN"->"Taiwan",
                "TJK"->"Tajikistan",
                "TZA"->"Tanzania",
                "TGO"->"Togo",
                "TKL"->"Tokelau",
                "TON"->"Tonga",
                "TTO"->"Trinidad eta Tobago",
                "TUN"->"Tunisia",
                "TUR"->"Turkia",
                "TCA"->"Turks eta Caicos uharteak",
                "TKM"->"Turkmenistan",
                "TUV"->"Tuvalu",
                "TCD"->"Txad",
                "CZE"->"Txekiar Errepublika",
                "CHL"->"Txile",
                "CHN"->"Txina",
                "UGA"->"Uganda",
                "UKR"->"Ukraina",
                "URY"->"Uruguai",
                "UZB"->"Uzbekistan",
                "VUT"->"Vanuatu",
                "VAT"->"Vatikano Hiria",
                "BEL"->"Belgika",
                "BLZ"->"Belize",
                "VEN"->"Venezuela",
                "VNM"->"Vietnam",
                "WLF"->"Wallis eta Futuna",
                "YEM"->"Yemen",
                "ZMB"->"Zambia",
                "NZL"->"Zeelanda Berria",
                "ZWE"->"Zimbabwe",
                "CYP"->"Zipre",
                // Non ISO codes
                "EH"->"Euskal Herria"
            ), // eu end
        "fr" ->
            Map(
                "ALA"->"Åland",
                "AFG"->"Afghanistan",
                "ZAF"->"Afrique du Sud",
                "ALB"->"Albanie",
                "DZA"->"Algérie",
                "DEU"->"Allemagne",
                "AND"->"Andorre",
                "AGO"->"Angola",
                "AIA"->"Anguilla",
                "ATA"->"Antarctique",
                "ATG"->"Antigua-et-Barbuda",
                "ANT"->"Antilles néerlandaises",
                "SAU"->"Arabie saoudite",
                "ARG"->"Argentine",
                "ARM"->"Arménie",
                "ABW"->"Aruba",
                "AUS"->"Australie",
                "AUT"->"Autriche",
                "AZE"->"Azerbaïdjan",
                "BLZ"->"Bélize",
                "BHS"->"Bahamas",
                "BHR"->"Bahreïn",
                "BGD"->"Bangladesh",
                "BRB"->"Barbade",
                "PLW"->"Belau",
                "BEL"->"Belgique",
                "BEN"->"Benin",
                "BMU"->"Bermudes",
                "BTN"->"Bhoutan",
                "BLR"->"Biélorussie",
                "MMR"->"Birmanie",
                "BOL"->"Bolivie",
                "BES"->"Bonaire, Saint-Eustache et Saba",
                "BIH"->"Bosnie-Herzégovine",
                "BWA"->"Botswana",
                "BRA"->"Brésil",
                "BRN"->"Brunei",
                "BGR"->"Bulgarie",
                "BFA"->"Burkina Faso",
                "BDI"->"Burundi",
                "KHM"->"Cambodge",
                "CMR"->"Cameroun",
                "CAN"->"Canada",
                "CPV"->"Cap Vert",
                "CHL"->"Chili",
                "CHN"->"Chine",
                "CYP"->"Chypre",
                "COL"->"Colombie",
                "COM"->"Comores",
                "COG"->"Congo",
                "PRK"->"Corée du Nord",
                "KOR"->"Corée du Sud",
                "CRI"->"Costa Rica",
                "CIV"->"Côte d'Ivoire",
                "HRV"->"Croatie",
                "CUB"->"Cuba",
                "CUW"->"Curaçao",
                "DNK"->"Danemark",
                "DJI"->"Djibouti",
                "DMA"->"Dominique (pays)",
                "EGY"->"Égypte",
                "SLV"->"El Salvador",
                "ARE"->"Émirats arabes unis",
                "ECU"->"Équateur (pays)",
                "ERI"->"Érythrée",
                "ESP"->"Espagne",
                "EST"->"Estonie",
                "USA"->"États-Unis",
                "ETH"->"Éthiopie",
                "FJI"->"Fidji",
                "FIN"->"Finlande",
                "FRA"->"France",
                "GEO"->"Géorgie",
                "SGS"->"Géorgie du Sud-et-les îles Sandwich du Sud",
                "GAB"->"Gabon",
                "GMB"->"Gambie",
                "GHA"->"Ghana",
                "GIB"->"Gibraltar",
                "GRC"->"Grèce",
                "GRD"->"Grenade (pays)",
                "GRL"->"Groenland",
                "GLP"->"Guadeloupe",
                "GUM"->"Guam",
                "GTM"->"Guatemala",
                "GGY"->"Guernesey",
                "GIN"->"Guinée",
                "GNQ"->"Guinée équatoriale",
                "GNB"->"Guinée-Bissau",
                "GUY"->"Guyana",
                "GUF"->"Guyane",
                "HTI"->"Haïti",
                "HND"->"Honduras",
                "HKG"->"Hong-Kong",
                "HUN"->"Hongrie",
                "IMN"->"Île de Man",
                "BVT"->"Île Bouvet",
                "CXR"->"Île Christmas",
                "NFK"->"Île Norfolk",
                "PCN"->"Île Pitcairn",
                "CYM"->"Îles Caïmans",
                "CCK"->"Îles Cocos",
                "COK"->"Îles Cook",
                "FRO"->"Îles Féroé",
                "HMD"->"Îles Heard-et-MacDonald",
                "FLK"->"Îles Malouines",
                "MNP"->"Îles Mariannes du Nord",
                "MHL"->"Îles Marshall",
                "UMI"->"Îles mineures éloignées des États-Unis",
                "SLB"->"Îles Salomon",
                "TCA"->"Îles Turques-et-Caïques",
                "VIR"->"Îles Vierges des États-Unis",
                "VGB"->"Îles Vierges britanniques",
                "IND"->"Inde",
                "IDN"->"Indonésie",
                "IRQ"->"Irak",
                "IRN"->"Iran",
                "IRL"->"Irlande",
                "ISL"->"Islande",
                "ISR"->"Israël",
                "ITA"->"Italie",
                "JAM"->"Jamaïque",
                "JPN"->"Japon",
                "JEY"->"Jersey",
                "JOR"->"Jordanie",
                "KAZ"->"Kazakhstan",
                "KEN"->"Kenya",
                "KIR"->"Kiribati",
                "KWT"->"Koweït",
                "KGZ"->"Kirghizistan",
                "REU"->"La Réunion",
                "LAO"->"Laos",
                "LSO"->"Lesotho",
                "LVA"->"Lettonie",
                "LBN"->"Liban",
                "LBR"->"Liberia",
                "LBY"->"Libye",
                "LIE"->"Liechtenstein",
                "LTU"->"Lituanie",
                "LUX"->"Luxembourg (pays)",
                "MKD"->"Macédoine (pays)",
                "MAC"->"Macao",
                "MDG"->"Madagascar",
                "MYS"->"Malaisie",
                "MWI"->"Malawi",
                "MDV"->"Maldives",
                "MLI"->"Mali",
                "MLT"->"Malte",
                "MAR"->"Maroc",
                "MTQ"->"Martinique",
                "MUS"->"Maurice (pays)",
                "MRT"->"Mauritanie",
                "MYT"->"Mayotte",
                "MEX"->"Mexique",
                "FSM"->"Micronésie",
                "MDA"->"Moldavie",
                "MCO"->"Monaco",
                "MNG"->"Mongolie",
                "MNE"->"Monténégro",
                "MSR"->"Montserrat",
                "MOZ"->"Mozambique",
                "NPL"->"Népal",
                "NAM"->"Namibie",
                "NRU"->"Nauru",
                "NIC"->"Nicaragua",
                "NGA"->"Nigéria",
                "NER"->"Niger",
                "NIU"->"Niue",
                "NOR"->"Norvège",
                "NCL"->"Nouvelle-Calédonie",
                "NZL"->"Nouvelle-Zélande",
                "OMN"->"Oman",
                "UGA"->"Ouganda",
                "UZB"->"Ouzbékistan",
                "PER"->"Pérou",
                "PAK"->"Pakistan",
                "PSE"->"Palestine",
                "PAN"->"Panama",
                "PNG"->"Papouasie-Nouvelle-Guinée",
                "PRY"->"Paraguay",
                "NLD"->"Pays-Bas",
                "PHL"->"Philippines",
                "POL"->"Pologne",
                "PYF"->"Polynésie Française",
                "PRI"->"Porto Rico",
                "PRT"->"Portugal",
                "QAT"->"Qatar",
                "CAF"->"République centre-africaine",
                "COD"->"République démocratique du Congo",
                "DOM"->"République dominicaine",
                "CZE"->"République tchèque",
                "ROU"->"Roumanie",
                "GBR"->"Royaume-Uni",
                "RUS"->"Russie",
                "RWA"->"Rwanda",
                "SEN"->"Sénégal",
                "ESH"->"Sahara occidental",
                "BLM"->"Saint-Barthélemy",
                "KNA"->"Saint-Christophe-et-Niévès",
                "SMR"->"Saint-Marin",
                "MAF"->"Saint-Martin (Antilles françaises)",
                "SXM"->"Saint-Martin (Royaume des Pays-Bas)",
                "SPM"->"Saint-Pierre-et-Miquelon",
                "VCT"->"Saint-Vincent-et-les-Grenadines",
                "SHN"->"Sainte-Hélène, Ascension et Tristan da Cunha",
                "LCA"->"Sainte-Lucie",
                "WSM"->"Samoa",
                "ASM"->"Samoa américaines",
                "STP"->"Sao Tomé-et-Principe",
                "SRB"->"Serbie",
                "SYC"->"Seychelles",
                "SLE"->"Sierra Leone",
                "SGP"->"Singapour",
                "SVN"->"Slovénie",
                "SVK"->"Slovaquie",
                "SOM"->"Somalie",
                "SDN"->"Soudan",
                "LKA"->"Sri Lanka",
                "SWE"->"Suède",
                "SSD"->"Sud-Soudan",
                "CHE"->"Suisse",
                "SUR"->"Suriname",
                "SJM"->"Svalbard et Jan Mayen",
                "SWZ"->"Swaziland",
                "SYR"->"Syrie",
                "TJK"->"Tadjikistan",
                "TWN"->"Taiwan",
                "TZA"->"Tanzanie",
                "TCD"->"Tchad",
                "IOT"->"Territoires britanniques de l'Océan Indien",
                "ATF"->"Terres australes et antarctiques françaises",
                "THA"->"Thaïlande",
                "TLS"->"Timor oriental",
                "TGO"->"Togo",
                "TKL"->"Tokelau",
                "TON"->"Tonga",
                "TTO"->"Trinité-et-Tobago",
                "TUN"->"Tunisie",
                "TKM"->"Turkménistan",
                "TUR"->"Turquie",
                "TUV"->"Tuvalu",
                "UKR"->"Ukraine",
                "URY"->"Uruguay",
                "VEN"->"Vénézuela",
                "VUT"->"Vanuatu",
                "VAT"->"Vatican",
                "VNM"->"Vietnam",
                "WLF"->"Wallis-et-Futuna",
                "YEM"->"Yémen",
                "ZMB"->"Zambie",
                "ZWE"->"Zimbabwe",
                // non ISO codes
                "UE"->"Union européenne",
                "UK"->"Royaume-Uni",
                "URS"->"Union des républiques socialistes soviétiques",
                "RFA"->"Allemagne de l'Ouest",
                "RDA"->"Allemagne de l'Est",
                "YUG"->"Yougoslavie"
            ), //end fr
		"ga" -> // http://en.wikipedia.org/wiki/ISO_3166-1
				// translations from http://www.focal.ie/Home.aspx
			Map(
				"ABW"->"Arúba",
				"AFG"->"an Afganastáin",
				"AGO"->"Angóla",
				"AIA"->"Anguilla",
				"ALA"->"Oileáin Åland",
				"ALB"->"an Albáin",
				"AND"->"Andóra",
				"ARE"->"Aontas na nÉimíríochtaí Arabach",
				"ARG"->"an Airgintín",
				"ARM"->"an Airméin",
				"ATA"->"Antartaice",
				"ATF"->"Críocha Francacha Dheisceart an Domhain",
				"ATG"->"Antigua agus Barbúda",
				"AUS"->"an Astráil",
				"AUT"->"an Ostair",
				"AZE"->"an Asarbaiseáin",
				"BDI"->"an Bhurúin",
				"BEL"->"an Bheilg",
				"BEN"->"Beinin",
				"BFA"->"Buircíne Fasó",
				"BGD"->"an Bhanglaidéis",
				"BGR"->"an Bhulgáir",
				"BHR"->"Bairéin",
				"BHS"->"na Bahámaí",
				"BIH"->"an Bhoisnia agus an Heirseagaivé",
				"BLR"->"an Bhealarúis",
				"BLZ"->"an Bheilís",
				"BMU"->"Beirmiúda",
				"BOL"->"an Bholaiv",
				"BRA"->"an Bhrasaíl",
				"BRB"->"Barbadós",
				"BRN"->"Brúiné Darasalám",
				"BTN"->"an Bhútáin",
				"BVT"->"Oileán Bouvet",
				"BWA"->"an Bhotsuáin",
				"CAF"->"Poblacht na hAfraice Láir",
				"CAN"->"Ceanada",
				"CCK"->"Oileáin Cocos (Keeling)",
				"CHE"->"an Eilvéis",
				"CHL"->"an tSile",
				"CHN"->"an tSín",
				"CIV"->"an Cósta Eabhair",
				"CMR"->"Camarún",
				"COD"->"Poblacht Dhaonlathach an Chongó",
				"COG"->"Poblacht an Chongó",
				"COK"->"Oileáin Cook",
				"COL"->"an Cholóim",
				"COM"->"Oileáin Chomóra",
				"CPV"->"Rinn Verde",
				"CRI"->"Costa Rica",
				"CUB"->"Cúba",
				"CUW"->"Cúrasó",
				"CXR"->"Oileán na Nollag",
				"CYM"->"Oileáin Cayman",
				"CYP"->"an Chipir",
				"CZE"->"Poblacht na Seice",
				"DEU"->"an Ghearmáin",
				"DMA"->"Doiminice",
				"DNK"->"an Danmhairg",
				"DOM"->"an Phoblacht Dhoiminiceach",
				"DZA"->"an Ailgéir",
				"ECU"->"Eacuadór",
				"EGY"->"an Éigipt",
				"ERI"->"an Eiritré",
				"ESH"->"an Sahára Thiar",
				"ESP"->"an Spáinn",
				"EST"->"an Eastóin",
				"ETH"->"an Aetóip",
				"FIN"->"an Fhionlainn",
				"FJI"->"Fidsí",
				"FLK"->"Oileáin Fháclainne (Las Malvinas)",
				"FRA"->"an Fhrainc",
				"FRO"->"Oileáin Fharó",
				"FSM"->"an Mhicrinéis",
				"GAB"->"an Ghabúin",
				"GBR"->"an Ríocht Aontaithe",
				"GEO"->"an tSeoirsia",
				"GGY"->"Geansaí",
				"GHA"->"Gána",
				"GIB"->"Giobráltar",
				"GIN"->"an Ghuine",
				"GLP"->"Guadalúip",
				"GMB"->"an Ghaimbia",
				"GNB"->"Guine Bissau",
				"GNQ"->"an Ghuine Mheánchiorclach",
				"GRC"->"an Ghréig",
				"GRD"->"Greanáda",
				"GRL"->"an Ghraonlainn",
				"GTM"->"Guatamala",
				"GUF"->"Guáin na Fraince",
				"GUY"->"an Ghuáin",
				"HKG"->"Hong Cong",
				"HMD"->"Oileán Heard agus Oileáin McDonald",
				"HND"->"Hondúras",
				"HRV"->"an Chróit",
				"HTI"->"Háítí",
				"HUN"->"an Ungáir",
				"IDN"->"an Indinéis",
				"IMN"->"Manainn",
				"IND"->"an India",
				"IOT"->"Críoch Aigéan Indiach na Breataine",
				"IRL"->"Éire",
				"IRN"->"an Iaráin",
				"IRQ"->"an Iaráic",
				"ISL"->"an Íoslainn",
				"ISR"->"Iosrael",
				"ITA"->"an Iodáil",
				"JAM"->"Iamáice",
				"JEY"->"Geirsí",
				"JOR"->"an Iordáin",
				"JPN"->"an tSeapáin",
				"KAZ"->"an Chasacstáin",
				"KEN"->"an Chéinia",
				"KGZ"->"Poblacht na Cirgise",
				"KHM"->"an Chambóid",
				"KIR"->"Cireabaití",
				"KNA"->"San Críostóir-Nimheas",
				"KOR"->"an Chóiré",
				"KWT"->"Cuáit",
				"LAO"->"Laos",
				"LBN"->"an Liobáin",
				"LBR"->"an Libéir",
				"LBY"->"an Libia",
				"LIE"->"Lichtinstéin",
				"LKA"->"Srí Lanca",
				"LSO"->"Leosóta",
				"LTU"->"an Liotuáin",
				"LUX"->"Lucsamburg",
				"LVA"->"an Laitvia",
				"MAR"->"Maracó",
				"MCO"->"Monacó",
				"MDA"->"an Mholdóiv",
				"MDV"->"Oileáin Mhaildíve",
				"MEX"->"Meicsiceo",
				"MHL"->"Oileáin Marshall",
				"MKD"->"an Mhacadóin",
				"MLI"->"Mailí",
				"MLT"->"Málta",
				"MMR"->"Maenmar",
				"MNE"->"Montainéagró",
				"MNG"->"an Mhongóil",
				"MNP"->"Na hOileáin Mháirianacha Thuaidh",
				"MOZ"->"Mósaimbíc",
				"MRT"->"an Mháratáin",
				"MSR"->"Montsarat",
				"MUS"->"Oileán Mhuirís",
				"MWI"->"an Mhaláiv",
				"MYS"->"an Mhalaeisia",
				"MYT"->"Mayotte",
				"NAM"->"an Namaib",
				"NCL"->"an Nua-Chaladóin",
				"NFK"->"Oileán Norfolk",
				"NGA"->"an Nigéir",
				"NIC"->"Nicearagua",
				"NLD"->"an Ísiltír",
				"NOR"->"an Iorua",
				"NPL"->"Neipeal",
				"NRU"->"Nárú",
				"NZL"->"an Nua-Shéalainn",
				"OMN"->"Óman",
				"PAK"->"an Phacastáin",
				"PCN"->"Oileáin Pitcairn",
				"PER"->"Peiriú",
				"PHL"->"na hOileáin Fhilipíneacha",
				"PLW"->"Oileáin Palau",
				"PNG"->"Nua-Ghuine Phapua",
				"POL"->"an Pholainn",
				"PRI"->"Pórtó Ríce",
				"PRK"->"Daon-Phoblacht Dhaonlathach na Cóiré",
				"PRT"->"an Phortaingéil",
				"PRY"->"Paragua",
				"PSE"->"an Phalaistín",
				"PYF"->"Polainéis na Fraince",
				"QAT"->"Catar",
				"REU"->"La Réunion",
				"ROU"->"an Rómáin",
				"RUS"->"Cónaidhm na Rúise",
				"RWA"->"Ruanda",
				"SAU"->"an Araib Shádach",
				"SDN"->"an tSúdáin",
				"SEN"->"an tSeineagáil",
				"SGP"->"Singeapór",
				"SGS"->"an tSeoirsia Theas agus Oileáin Sandwich Theas",
				"SJM"->"Svalbard agus Jan Mayen",
				"SLB"->"Oileáin Sholomón",
				"SLE"->"Siarra Leon",
				"SLV"->"an tSalvadóir",
				"SMR"->"Poblacht San Mairíne",
				"SOM"->"an tSomáil",
				"SRB"->"an tSeirbia",
				"STP"->"São Tomé agus Príncipe",
				"SUR"->"Suranam",
				"SVK"->"an tSlóvaic",
				"SVN"->"an tSlóivéin",
				"SWE"->"an tSualainn",
				"SWZ"->"an tSuasalainn",
				"SYC"->"na Séiséil",
				"SYR"->"an tSiria",
				"TCA"->"Oileáin na dTurcach agus Caicos",
				"TCD"->"Sead",
				"TGO"->"Tóga",
				"THA"->"an Téalainn",
				"TJK"->"an Táidsíceastáin",
				"TKL"->"Oileáin Tócalá",
				"TKM"->"an Tuircméanastáin",
				"TLS"->"Tíomór Thoir",
				"TTO"->"Oileán na Tríonóide agus Tobága",
				"TUN"->"an Túinéis",
				"TUR"->"an Tuirc",
				"TWN"->"an Téaváin",
				"TZA"->"an Tansáin",
				"UKR"->"an Úcráin",
				"URY"->"Uragua",
				"USA"->"Stáit Aontaithe Mheiriceá",
				"UZB"->"an Úisbéiceastáin",
				"VAT"->"an Suí Naofa",
				"VCT"->"San Uinseann agus na Greanáidíní",
				"VEN"->"Veiniséala",
				"VGB"->"Oileáin Bhriotanacha na Maighdean",
				"VIR"->"Oileáin Mheiriceánacha na Maighdean",
				"VNM"->"Vítneam",
				"VUT"->"Vanuatú",
				"WLF"->"Vailís agus Futúna",
				"WSM"->"Samó",
				"YEM"->"Éimin",
				"ZAF"->"an Afraic Theas",
				"ZMB"->"an tSaimbia",
				"ZWE"->"an tSiombáib"
			),
      "id" ->
          Map(
              "AFG"->"Afganistan",
              "ALB"->"Albania",
              "DZA"->"Aljazair",
              "AND"->"Andorra",
              "AGO"->"Angola",
              "AIA"->"Anguila",
              "ATA"->"Antarktika",
              "ATG"->"Antigua dan Barbuda",
              "SAU"->"Arab Saudi",
              "ARG"->"Argentina",
              "ARM"->"Armenia",
              "ABW"->"Aruba",
              "AUS"->"Australia",
              "AUT"->"Austria",
              "AZE"->"Azerbaijan",
              "BHS"->"Bahama",
              "BHR"->"Bahrain",
              "BGD"->"Bangladesh",
              "BRB"->"Barbados",
              "BEL"->"Belgia",
              "BLZ"->"Belize",
              "BEN"->"Benin",
              "BMU"->"Bermuda",
              "BTN"->"Bhutan",
              "BLR"->"Belarus",
              "MMR"->"Myanmar",
              "BOL"->"Bolivia",
              "BIH"->"Bosnia dan Herzegovina",
              "BWA"->"Botswana",
              "BRA"->"Brasil",
              "BRN"->"Brunei",
              "IOT"->"Teritori Samudra Hindia Britania",
              "VGB"->"Kepulauan Virgin Britania Raya",
              "BGR"->"Bulgaria",
              "BFA"->"Burkina Faso",
              "BDI"->"Burundi",
              "CHL"->"Chili",
              "CHN"->"Republik Rakyat Cina",
              "HRV"->"Kroasia",
              "CYP"->"Siprus",
              "TCD"->"Chad",
              "MNE"->"Montenegro",
              "CZE"->"Republik Ceko",
              "UMI"->"Kepulauan Terluar Kecil Amerika Serikat",
              "DNK"->"Denmark",
              "COD"->"Republik Demokratik Kongo",
              "DMA"->"Dominika",
              "DOM"->"Republik Dominika",
              "DJI"->"Djibouti",
              "EGY"->"Mesir",
              "ECU"->"Ekuador",
              "ERI"->"Eritrea",
              "EST"->"Estonia",
              "ETH"->"Ethiopia",
              "FLK"->"Kepulauan Falkland",
              "FJI"->"Fiji",
              "PHL"->"Filipina",
              "FIN"->"Finlandia",
              "FRA"->"Perancis",
              "ATF"->"Teritori Perancis Selatan",
              "GAB"->"Gabon",
              "GMB"->"Gambia",
              "SGS"->"Georgia Selatan dan Kepulauan Sandwich Selatan",
              "GHA"->"Ghana",
              "GIB"->"Gibraltar",
              "GRC"->"Yunani",
              "GRD"->"Grenada",
              "GRL"->"Greenland",
              "GEO"->"Georgia",
              "GUM"->"Guam",
              "GGY"->"Guernsey",
              "GUF"->"Guyana Perancis",
              "GUY"->"Guyana",
              "GLP"->"Guadeloupe",
              "GTM"->"Guatemala",
              "GNB"->"Guinea-Bissau",
              "GNQ"->"Guinea Khatulistiwa",
              "GIN"->"Guinea",
              "HTI"->"Haiti",
              "ESP"->"Spanyol",
              "NLD"->"Belanda",
              "HND"->"Honduras",
              "HKG"->"Hong Kong",
              "IND"->"India",
              "IDN"->"Indonesia",
              "IRQ"->"Irak",
              "IRN"->"Iran",
              "IRL"->"Republik Irlandia",
              "ISL"->"Islandia",
              "ISR"->"Israel",
              "JAM"->"Jamaika",
              "JPN"->"Jepang",
              "YEM"->"Yaman",
              "JEY"->"Jersey",
              "JOR"->"Yordania",
              "CYM"->"Kepulauan Cayman",
              "KHM"->"Kamboja",
              "CMR"->"Kamerun",
              "CAN"->"Kanadá",
              "QAT"->"Qatar",
              "KAZ"->"Kazakhstan",
              "KEN"->"Kenya",
              "KGZ"->"Kirgizstan",
              "KIR"->"Kiribati",
              "COL"->"Kolombia",
              "COM"->"Komoro",
              "COG"->"Republik Kongo",
              "KOR"->"Republik Korea",
              "PRK"->"Republik Rakyat Demokratik Korea",
              "CRI"->"Kosta Rika",
              "CUB"->"Kuba",
              "KWT"->"Kuwait",
              "LAO"->"Laos",
              "LSO"->"Lesotho",
              "LBN"->"Lebanon",
              "LBR"->"Liberia",
              "LBY"->"Libya",
              "LIE"->"Liechtenstein",
              "LTU"->"Lituania",
              "LUX"->"Luksemburg",
              "LVA"->"Latvia",
              "MKD"->"Republik Makedonia",
              "MDG"->"Madagaskar",
              "MYT"->"Mayotte",
              "MAC"->"Makau",
              "MWI"->"Malawi",
              "MDV"->"Maladewa",
              "MYS"->"Malaysia",
              "MLI"->"Mali",
              "MLT"->"Malta",
              "MNP"->"Kepulauan Mariana Utara",
              "MAR"->"Maroko",
              "MTQ"->"Martinik",
              "MRT"->"Mauritania",
              "MUS"->"Mauritius",
              "MEX"->"Meksiko",
              "FSM"->"Federasi Mikronesia",
              "MDA"->"Moldova",
              "MCO"->"Monako",
              "MNG"->"Mongolia",
              "MSR"->"Montserrat",
              "MOZ"->"Mozambik",
              "NAM"->"Namibia",
              "NRU"->"Nauru",
              "NPL"->"Nepal",
              "DEU"->"Jerman",
              "NER"->"Niger",
              "NGA"->"Nigeria",
              "NIC"->"Nikaragua",
              "NIU"->"Niue",
              "NFK"->"Pulau Norfolk",
              "NOR"->"Norwegia",
              "NCL"->"Kaledonia Baru",
              "NZL"->"Selandia Baru",
              "OMN"->"Oman",
              "PAK"->"Pakistan",
              "PLW"->"Palau",
              "PSE"->"Palestina",
              "PAN"->"Panama",
              "PNG"->"Papua Nugini",
              "PRY"->"Paraguay",
              "PER"->"Peru",
              "PCN"->"Kepulauan Pitcairn",
              "PYF"->"Polinesia Perancis",
              "POL"->"Polandia",
              "PRI"->"Puerto Riko",
              "PRT"->"Portugal",
              "TWN"->"Taiwan",
              "ZAF"->"Afrika Selatan",
              "CAF"->"Republik Afrika Tengah",
              "CPV"->"Tanjung Verde",
              "REU"->"Reunion",
              "RUS"->"Rusia",
              "ROU"->"Rumania",
              "RWA"->"Rwanda",
              "ESH"->"Sahara Barat",
              "KNA"->"Saint Kitts dan Nevis",
              "LCA"->"Saint Lucia",
              "VCT"->"Saint Vincent dan Grenadines",
              "BLM"->"Saint-Barthélemy",
              "MAF"->"Saint Martin (Perancis)",
              "SPM"->"Saint Pierre dan Miquelon",
              "SLV"->"El Salvador",
              "ASM"->"Samoa Amerika",
              "WSM"->"Samoa",
              "SMR"->"San Marino",
              "SEN"->"Senegal",
              "SRB"->"Serbia",
              "SYC"->"Seychelles",
              "SLE"->"Sierra Leone",
              "SGP"->"Singapura",
              "SVK"->"Slowakia",
              "SVN"->"Slovenia",
              "SOM"->"Somalia",
              "LKA"->"Sri Lanka",
              "USA"->"Amerika Serikat",
              "SWZ"->"Swaziland",
              "SDN"->"Sudan",
              "SUR"->"Suriname",
              "SJM"->"Svalbard dan Jan Mayen",
              "SYR"->"Suriah",
              "CHE"->"Swiss",
              "SWE"->"Swedia",
              "TJK"->"Tajikistán",
              "THA"->"Thailand",
              "TZA"->"Tanzania",
              "TLS"->"Timor Leste",
              "TGO"->"Togo",
              "TKL"->"Tokelau",
              "TON"->"Tonga",
              "TTO"->"Trinidad dan Tobago",
              "TUN"->"Tunisia",
              "TUR"->"Turki",
              "TKM"->"Turkmenistan",
              "TCA"->"Kepulauan Turks dan Caicos",
              "TUV"->"Tuvalu",
              "UGA"->"Uganda",
              "UKR"->"Ukraina",
              "URY"->"Uruguay",
              "UZB"->"Uzbekistan",
              "VUT"->"Vanuatu",
              "WLF"->"Wallis dan Futuna",
              "VAT"->"Vatikan",
              "VEN"->"Venezuela",
              "HUN"->"Hongaria",
              "GBR"->"Britania Raya",
              "VNM"->"Vietnam",
              "ITA"->"Italia",
              "CIV"->"Pantai Gading",
              "BVT"->"Pulau Bouvet",
              "CXR"->"Pulau Natal",
              "IMN"->"Pulau Man",
              "SHN"->"Saint Helena, Ascension, dan Tristan da Cunha",
              "ALA"->"Kepulauan Aland",
              "COK"->"Kepulauan Cook",
              "VIR"->"Kepulauan Virgin Amerika Serikat",
              "HMD"->"Pulau Heard dan Kepulauan McDonald",
              "CCK"->"Kepulauan Cocos(Keeling)",
              "MHL"->"Kepulauan Marshall",
              "FRO"->"Kepulauan Faroe",
              "SLB"->"Kepulauan Solomon",
              "STP"->"Sao Tome dan Principe",
              "ZMB"->"Zambia",
              "ZWE"->"Zimbabwe",
              "ARE"->"Uni Emirat Arab"
           ), //end id
        "ja" ->
            Map(
                "AFG"->"アフガニスタン",
                "AIA"->"アンギラ",
                "ALB"->"アルバニア",
                "ALG"->"アルジェリア",
                "AND"->"アンドラ",
                "ANG"->"アンゴラ",
                "ARG"->"アルゼンチン",
                "ARM"->"アルメニア",
                "ARU"->"アルバ",
                "ARM"->"アルメニア",
                "ARU"->"アルバ",
                "ASA"->"アメリカ領サモア",
                "ATG"->"アンティグア・バーブーダ",
                "AUS"->"オーストラリア",
                "AUT"->"オーストリア",
                "AZE"->"アゼルバイジャン",
                "BAH"->"バハマ",
                "BAN"->"バングラデシュ",
                "BAR"->"バルバドス",
                "BDI"->"ブルンジ",
                "BEL"->"ベルギー",
                "BEN"->"ベナン",
                "BER"->"バミューダ諸島",
                "BHU"->"ブータン",
                "BHR"->"バーレーン",
                "BIH"->"ボスニア・ヘルツェゴビナ",
                "BIZ"->"ベリーズ",
                "BLR"->"ベラルーシ",
                "BOL"->"ボリビア",
                "BOT"->"ボツワナ",
                "BRA"->"ブラジル",
                "BRU"->"ブルネイ",
                "BUL"->"ブルガリア",
                "BUR"->"ブルキナファソ",
                "CAF"->"中央アフリカ",
                "CAM"->"カンボジア",
                "CAN"->"カナダ",
                "CAY"->"ケイマン諸島",
                "CCK"->"ココス諸島",
                "CGO"->"コンゴ共和国",
                "CHA"->"チャド",
                "CHI"->"チリ",
                "CHN"->"中国",
                "CHO"->"朝鮮",
                "CIV"->"コートジボワール",
                "CMR"->"カメルーン",
                "COD"->"コンゴ民主共和国",
                "COK"->"クック諸島",
                "COL"->"コロンビア",
                "COM"->"コモロ",
                "CPV"->"カーボベルデ",
                "CRC"->"コスタリカ",
                "CRO"->"クロアチア",
                "CUB"->"キューバ",
                "CUR"->"キュラソー島",
                "CYP"->"キプロス",
                "CZE"->"チェコ",
                "DEN"->"デンマーク",
                "DJI"->"ジブチ",
                "DMA"->"ドミニカ国",
                "DOM"->"ドミニカ共和国",
                "ECU"->"エクアドル",
                "EGY"->"エジプト",
                "ENG"->"イングランド",
                "ERI"->"エリトリア",
                "ESA"->"エルサルバドル",
                "ESH"->"西サハラ",
                "ESP"->"スペイン",
                "EST"->"エストニア",
                "ETH"->"エチオピア",
                "FIJ"->"フィジー",
                "FIN"->"フィンランド",
                "FLK"->"フォークランド諸島",
                "FRA"->"フランス",
                "FRO"->"フェロー諸島",
                "FSM"->"ミクロネシア連邦",
                "GAB"->"ガボン",
                "GAM"->"ガンビア",
                "GBR"->"イギリス",
                "GBS"->"ギニアビサウ",
                "GEO"->"グルジア",
                "GEQ"->"赤道ギニア",
                "GER"->"ドイツ",
                "GGY"->"ガーンジー島",
                "GHA"->"ガーナ",
                "GIB"->"ジブラルタル",
                "GLP"->"グアドループ",
                "GRE"->"ギリシャ",
                "GRN"->"グレナダ",
                "GRL"->"グリーンランド",
                "GUA"->"グアテマラ",
                "GUF"->"フランス領ギアナ",
                "GUI"->"ギニア",
                "GUM"->"グアム",
                "GUY"->"ガイアナ",
                "HAI"->"ハイチ",
                "HKG"->"香港",
                "HON"->"ホンジュラス",
                "HUN"->"ハンガリー",
                "IMN"->"マン島",
                "INA"->"インドネシア",
                "IND"->"インド",
                "IOT"->"イギリス領インド洋地域",
                "IRI"->"イラン",
                "IRL"->"アイルランド",
                "IRQ"->"イラク",
                "ISL"->"アイスランド",
                "ISR"->"イスラエル",
                "ISV"->"アメリカ領ヴァージン諸島",
                "ITA"->"イタリア",
                "IVB"->"イギリス領ヴァージン諸島",
                "JAM"->"ジャマイカ",
                "JEY"->"ジャージー島",
                "JOR"->"ヨルダン",
                "JPN"->"日本",
                "KAZ"->"カザフスタン",
                "KEN"->"ケニア",
                "KGZ"->"キルギス",
                "KIR"->"キリバス",
                "KOR"->"韓国",
                "KOS"->"コソボ",
                "KSA"->"サウジアラビア",
                "KUW"->"クウェート",
                "LAO"->"ラオス",
                "LAT"->"ラトビア",
                "LBA"->"リビア",
                "LBR"->"リベリア",
                "LCA"->"セントルシア",
                "LES"->"レソト",
                "LIB"->"レバノン",
                "LIE"->"リヒテンシュタイン",
                "LTU"->"リトアニア",
                "LUX"->"ルクセンブルク",
                "MAC"->"マカオ",
                "MAD"->"マダガスカル",
                "MAR"->"モロッコ",
                "MAS"->"マレーシア",
                "MAW"->"マラウイ",
                "MDA"->"モルドバ",
                "MDV"->"モルディブ",
                "MEX"->"メキシコ",
                "MGL"->"モンゴル",
                "MHL"->"マーシャル諸島",
                "MKD"->"マケドニア",
                "MLI"->"マリ",
                "MLT"->"マルタ",
                "MNE"->"モンテネグロ",
                "MNP"->"北マリアナ諸島",
                "MOM"->"マルタ騎士団",
                "MON"->"モナコ",
                "MOZ"->"モザンビーク",
                "MRI"->"モーリシャス",
                "MSR"->"モントセラト",
                "MTN"->"モーリタニア",
                "MTQ"->"マルティニーク",
                "MYA"->"ミャンマー",
                "NAM"->"ナミビア",
                "NCA"->"ニカラグア",
                "NCL"->"ニューカレドニア",
                "NED"->"オランダ",
                "NEP"->"ネパール",
                "NGR"->"ナイジェリア",
                "NIG"->"ニジェール",
                "NIR"->"北アイルランド",
                "NIU"->"ニウエ",
                "NOR"->"ノルウェー",
                "NRU"->"ナウル",
                "NZL"->"ニュージーランド",
                "OMA"->"オマーン",
                "PAK"->"パキスタン",
                "PAN"->"パナマ",
                "PAR"->"パラグアイ",
                "PCN"->"ピトケアン諸島",
                "PER"->"ペルー",
                "PHI"->"フィリピン",
                "PLE"->"パレスチナ",
                "PLW"->"パラオ",
                "PNG"->"パプアニューギニア",
                "POL"->"ポーランド",
                "POR"->"ポルトガル",
                "PRK"->"北朝鮮",
                "PUR"->"プエルトリコ",
                "PYF"->"フランス領ポリネシア",
                "QAT"->"カタール",
                "ROC"->"中華民国",
                "ROU"->"ルーマニア",
                "RSA"->"南アフリカ共和国",
                "RUS"->"ロシア",
                "RWA"->"ルワンダ",
                "SAM"->"サモア",
                "SCO"->"スコットランド",
                "SEN"->"セネガル",
                "SEY"->"セーシェル",
                "SHN"->"セントヘレナ",
                "SIN"->"シンガポール",
                "SKN"->"セントクリストファー・ネイビス",
                "SLD"->"シーランド公国",
                "SLE"->"シエラレオネ",
                "SLO"->"スロベニア",
                "SMR"->"サンマリノ",
                "SOL"->"ソロモン諸島",
                "SOM"->"ソマリア",
                "SRB"->"セルビア",
                "SRI"->"スリランカ",
                "SSD"->"南スーダン",
                "STP"->"サントメ・プリンシペ",
                "SUD"->"スーダン",
                "SUI"->"スイス",
                "SUR"->"スリナム",
                "SVK"->"スロバキア",
                "SWE"->"スウェーデン",
                "SWZ"->"スワジランド",
                "SXM"->"シント・マールテン",
                "SYR"->"シリア",
                "TAN"->"タンザニア",
                "TGA"->"トンガ",
                "THA"->"タイ",
                "TIB"->"チベット",
                "TJK"->"タジキスタン",
                "TKL"->"トケラウ",
                "TKM"->"トルクメニスタン",
                "TLS"->"東ティモール",
                "TOG"->"トーゴ",
                "TPE"->"チャイニーズタイペイ",
                "TRI"->"トリニダード・トバゴ",
                "TRNC"->"北キプロス・トルコ共和国",
                "TUN"->"チュニジア}",
                "TUR"->"トルコ",
                "TUV"->"ツバル",
                "UAE"->"アラブ首長国連邦",
                "UGA"->"ウガンダ",
                "UKR"->"ウクライナ",
                "URU"->"ウルグアイ",
                "USA"->"アメリカ合衆国",
                "UZB"->"ウズベキスタン",
                "VAN"->"バヌアツ",
                "VAT"->"バチカン",
                "VEN"->"ベネズエラ",
                "VIE"->"ベトナム",
                "VIN"->"セントビンセント・グレナディーン",
                "WAL"->"ウェールズ",
                "WLF"->"ウォリス・フツナ",
                "YEM"->"イエメン",
                "ZAM"->"ザンビア",
                "ZIM"->"ジンバブエ",
                "EAT"->"タンガニーカ",
                "EAZ"->"ザンジバル",
                "SRP"->"スルプスカ共和国",
                "ETR"->"東トルキスタン",
                "SMG"->"南モンゴル（内蒙古）",
                // non ISO codes
                "GE-AJ"->"アジャリア自治共和国",
                "GR-69"->"アトス自治修道士共和国",
                "RS-VO"->"ヴォイヴォディナ",
                "UZ-QR"->"カラカルパクスタン共和国"
            ), //end ja
        "nl" ->
            Map(
                "AFG"->"Afghanistan",
                "ALA"->"Åland",
                "ALB"->"Albanië",
                "DZA"->"Algerije",
                "VIR"->"Amerikaanse Maagdeneilanden",
                "ASM"->"Amerikaans-Samoa",
                "AND"->"Andorra",
                "AGO"->"Angola",
                "AIA"->"Anguilla",
                "ATA"->"Antarctica",
                "ATG"->"Antigua en Barbuda",
                "ARG"->"Argentinië",
                "ARM"->"Armenië",
                "ABW"->"Aruba",
                "AUS"->"Australië",
                "AZE"->"Azerbeidzjan",
                "BHS"->"Bahama's",
                "BHR"->"Bahrein",
                "BGD"->"Bangladesh",
                "BRB"->"Barbados",
                "BEL"->"België",
                "BLZ"->"Belize",
                "BEN"->"Benin",
                "BMU"->"Bermuda",
                "BTN"->"Bhutan",
                "BOL"->"Bolivia",
                "BES"->"Bonaire, Sint Eustatius en Saba",
                "BIH"->"Bosnië en Herzegovina",
                "BWA"->"Botswana",
                "BVT"->"Bouvet",
                "BRA"->"Brazilië",
                "VGB"->"Britse Maagdeneilanden",
                "IOT"->"Brits Indische Oceaanterritorium",
                "BRN"->"Brunei",
                "BGR"->"Bulgarije",
                "BFA"->"Burkina Faso",
                "BDI"->"Burundi",
                "KHM"->"Cambodja",
                "CAN"->"Canada",
                "CAF"->"Centraal-Afrikaanse Republiek",
                "CHL"->"Chili",
                "CHN"->"China",
                "CXR"->"Christmaseiland",
                "CCK"->"Cocoseilanden",
                "COL"->"Colombia",
                "COM"->"Comoren",
                "COG"->"Congo-Brazzaville",
                "COD"->"Congo-Kinshasa",
                "COK"->"Cookeilanden",
                "CRI"->"Costa Rica",
                "CUB"->"Cuba",
                "CUW"->"Curaçao",
                "CYP"->"Cyprus",
                "DNK"->"Denemarken",
                "DJI"->"Djibouti",
                "DMA"->"Dominica",
                "DOM"->"Dominicaanse Republiek",
                "DEU"->"Duitsland",
                "ECU"->"Ecuador",
                "EGY"->"Egypte",
                "SLV"->"El Salvador",
                "GNQ"->"Equatoriaal-Guinea",
                "ERI"->"Eritrea",
                "EST"->"Estland",
                "ETH"->"Ethiopië",
                "FRO"->"Faeröer",
                "FLK"->"Falklandeilanden",
                "FJI"->"Fiji",
                "PHL"->"Filipijnen",
                "FIN"->"Finland",
                "FRA"->"Frankrijk",
                "ATF"->"Franse Zuidelijke en Antarctische Gebieden",
                "GUF"->"Frans-Guyana",
                "PYF"->"Frans-Polynesië",
                "GAB"->"Gabon",
                "GMB"->"Gambia",
                "GEO"->"Georgië",
                "GHA"->"Ghana",
                "GIB"->"Gibraltar",
                "GRD"->"Grenada",
                "GRC"->"Griekenland",
                "GRL"->"Groenland",
                "GLP"->"Guadeloupe",
                "GUM"->"Guam",
                "GTM"->"Guatemala",
                "GGY"->"Guernsey",
                "GIN"->"Guinee",
                "GNB"->"Guinee-Bissau",
                "GUY"->"Guyana",
                "HTI"->"Haïti",
                "HMD"->"Heard en McDonaldeilanden",
                "HND"->"Honduras",
                "HUN"->"Hongarije",
                "HKG"->"Hongkong",
                "IRL"->"Ierland",
                "ISL"->"IJsland",
                "IND"->"India",
                "IDN"->"Indonesië",
                "IRQ"->"Irak",
                "IRN"->"Iran",
                "ISR"->"Israël",
                "ITA"->"Italië",
                "CIV"->"Ivoorkust",
                "JAM"->"Jamaica",
                "JPN"->"Japan",
                "YEM"->"Jemen",
                "JEY"->"Jersey",
                "JOR"->"Jordanië",
                "CYM"->"Kaaimaneilanden",
                "CPV"->"Kaapverdië",
                "CMR"->"Kameroen",
                "KAZ"->"Kazachstan",
                "KEN"->"Kenia",
                "KGZ"->"Kirgizië",
                "KIR"->"Kiribati",
                "UMI"->"Kleine Pacifische eilanden van de Verenigde Staten",
                "KWT"->"Koeweit",
                "HRV"->"Kroatië",
                "LAO"->"Laos",
                "LSO"->"Lesotho",
                "LVA"->"Letland",
                "LBN"->"Libanon",
                "LBR"->"Liberia",
                "LBY"->"Libië",
                "LIE"->"Liechtenstein",
                "LTU"->"Litouwen",
                "LUX"->"Luxemburg",
                "MAC"->"Macau",
                "MKD"->"Macedonië",
                "MDG"->"Madagaskar",
                "MWI"->"Malawi",
                "MDV"->"Maldiven",
                "MYS"->"Maleisië",
                "MLI"->"Mali",
                "MLT"->"Malta",
                "IMN"->"Man",
                "MAR"->"Marokko",
                "MHL"->"Marshalleilanden",
                "MTQ"->"Martinique",
                "MRT"->"Mauritanië",
                "MUS"->"Mauritius",
                "MYT"->"Mayotte",
                "MEX"->"Mexico",
                "FSM"->"Micronesia",
                "MDA"->"Moldavië",
                "MCO"->"Monaco",
                "MNG"->"Mongolië",
                "MNE"->"Montenegro",
                "MSR"->"Montserrat",
                "MOZ"->"Mozambique",
                "MMR"->"Myanmar",
                "NAM"->"Namibië",
                "NRU"->"Nauru",
                "NLD"->"Nederland",
                "NPL"->"Nepal",
                "NIC"->"Nicaragua",
                "NCL"->"Nieuw-Caledonië",
                "NZL"->"Nieuw-Zeeland",
                "NER"->"Niger",
                "NGA"->"Nigeria",
                "NIU"->"Niue",
                "MNP"->"Noordelijke Marianen",
                "PRK"->"Noord-Korea",
                "NOR"->"Noorwegen",
                "NFK"->"Norfolk",
                "UGA"->"Oeganda",
                "UKR"->"Oekraïne",
                "UZB"->"Oezbekistan",
                "OMN"->"Oman",
                "AUT"->"Oostenrijk",
                "TLS"->"Oost-Timor",
                "PAK"->"Pakistan",
                "PLW"->"Palau",
                "PSE"->"Palestijnse Autoriteit",
                "PAN"->"Panama",
                "PNG"->"Papoea-Nieuw-Guinea",
                "PRY"->"Paraguay",
                "PER"->"Peru",
                "PCN"->"Pitcairneilanden",
                "POL"->"Polen",
                "PRT"->"Portugal",
                "PRI"->"Puerto Rico",
                "QAT"->"Qatar",
                "REU"->"Réunion",
                "ROU"->"Roemenië",
                "RUS"->"Rusland",
                "RWA"->"Rwanda",
                "BLM"->"Saint-Barthélemy",
                "KNA"->"Saint Kitts en Nevis",
                "LCA"->"Saint Lucia",
                "SPM"->"Saint-Pierre en Miquelon",
                "VCT"->"Saint Vincent en de Grenadines",
                "SLB"->"Salomonseilanden",
                "WSM"->"Samoa",
                "SMR"->"San Marino",
                "SAU"->"Saoedi-Arabië",
                "STP"->"Sao Tomé en Principe",
                "SEN"->"Senegal",
                "SRB"->"Servië",
                "SYC"->"Seychellen",
                "SLE"->"Sierra Leone",
                "SGP"->"Singapore",
                "SHN"->"Sint-Helena, Ascension en Tristan da Cunha",
                "MAF"->"Sint-Maarten",
                "SXM"->"Sint Maarten",
                "SVN"->"Slovenië",
                "SVK"->"Slowakije",
                "SDN"->"Soedan",
                "SOM"->"Somalië",
                "ESP"->"Spanje",
                "SJM"->"Spitsbergen en Jan Mayen",
                "LKA"->"Sri Lanka",
                "SUR"->"Suriname",
                "SWZ"->"Swaziland",
                "SYR"->"Syrië",
                "TJK"->"Tadzjikistan",
                "TWN"->"Taiwan",
                "TZA"->"Tanzania",
                "THA"->"Thailand",
                "TGO"->"Togo",
                "TKL"->"Tokelau-eilanden",
                "TON"->"Tonga",
                "TTO"->"Trinidad en Tobago",
                "TCD"->"Tsjaad",
                "CZE"->"Tsjechië",
                "TUN"->"Tunesië",
                "TUR"->"Turkije",
                "TKM"->"Turkmenistan",
                "TCA"->"Turks- en Caicoseilanden",
                "TUV"->"Tuvalu",
                "URY"->"Uruguay",
                "VUT"->"Vanuatu",
                "VAT"->"Vaticaanstad",
                "VEN"->"Venezuela",
                "ARE"->"Verenigde Arabische Emiraten",
                "USA"->"Verenigde Staten",
                "GBR"->"Verenigd Koninkrijk",
                "VNM"->"Vietnam",
                "WLF"->"Wallis en Futuna",
                "ESH"->"Westelijke Sahara",
                "BLR"->"Wit-Rusland",
                "ZMB"->"Zambia",
                "ZWE"->"Zimbabwe",
                "ZAF"->"Zuid-Afrika",
                "SGS"->"Zuid-Georgia en de Zuidelijke Sandwicheilanden",
                "KOR"->"Zuid-Korea",
                "SSD"->"Zuid-Soedan",
                "SWE"->"Zweden",
                "CHE"->"Zwitserland"
            ), // nl end
        "pl" ->
            Map(
                "AFG"->"Afganistan",
                "ALB"->"Albania",
                "DZA"->"Algieria",
                "AND"->"Andora",
                "AGO"->"Angola",
                "AIA"->"Anguilla",
                "ATA"->"Antarktyda",
                "ATG"->"Antigua i Barbuda",
                "SAU"->"Arabia Saudyjska",
                "ARG"->"Argentyna",
                "ARM"->"Armenia",
                "ABW"->"Aruba",
                "AUS"->"Australia",
                "AUT"->"Austria",
                "AZE"->"Azerbejdżan",
                "BHS"->"Bahamy",
                "BHR"->"Bahrajn",
                "BGD"->"Bangladesz",
                "BRB"->"Barbados",
                "BEL"->"Belgia",
                "BLZ"->"Belize",
                "BEN"->"Benin",
                "BMU"->"Bermudy",
                "BTN"->"Bhutan",
                "BLR"->"Białoruś",
                "MMR"->"Birma",
                "BOL"->"Boliwia",
                "BES"->"Bonaire, Sint Eustatius i Saba",
                "BIH"->"Bośnia i Hercegowina",
                "BWA"->"Botswana",
                "BRA"->"Brazylia",
                "BRN"->"Brunei",
                "IOT"->"Brytyjskie Terytorium Oceanu Indyjskiego",
                "VGB"->"Brytyjskie Wyspy Dziewicze",
                "BGR"->"Bułgaria",
                "BFA"->"Burkina Faso",
                "BDI"->"Burundi",
                "CHL"->"Chile",
                "CHN"->"Chiny",
                "HRV"->"Chorwacja",
                "CUW"->"Curaçao",
                "CYP"->"Cypr",
                "TCD"->"Czad",
                "MNE"->"Czarnogóra",
                "CZE"->"Czechy",
                "UMI"->"Dalekie Wyspy Mniejsze Stanów Zjednoczonych",
                "DNK"->"Dania",
                "COD"->"Demokratyczna Republika Konga",
                "DMA"->"Dominika",
                "DOM"->"Dominikana",
                "DJI"->"Dżibuti",
                "EGY"->"Egipt",
                "ECU"->"Ekwador",
                "ERI"->"Erytrea",
                "EST"->"Estonia",
                "ETH"->"Etiopia",
                "FLK"->"Falklandy",
                "FJI"->"Fidżi",
                "PHL"->"Filipiny",
                "FIN"->"Finlandia",
                "FRA"->"Francja",
                "ATF"->"Francuskie Terytoria Południowe i Antarktyczne",
                "GAB"->"Gabon",
                "GMB"->"Gambia",
                "SGS"->"Georgia Południowa i Sandwich Południowy",
                "GHA"->"Ghana",
                "GIB"->"Gibraltar",
                "GRC"->"Grecja",
                "GRD"->"Grenada",
                "GRL"->"Grenlandia",
                "GEO"->"Gruzja",
                "GUM"->"Guam",
                "GGY"->"Guernsey",
                "GUF"->"Gujana Francuska",
                "GUY"->"Gujana",
                "GLP"->"Gwadelupa",
                "GTM"->"Gwatemala",
                "GNB"->"Gwinea Bissau",
                "GNQ"->"Gwinea Równikowa",
                "GIN"->"Gwinea",
                "HTI"->"Haiti",
                "ESP"->"Hiszpania",
                "NLD"->"Holandia",
                "HND"->"Honduras",
                "HKG"->"Hongkong",
                "IND"->"Indie",
                "IDN"->"Indonezja",
                "IRQ"->"Irak",
                "IRN"->"Iran",
                "IRL"->"Irlandia",
                "ISL"->"Islandia",
                "ISR"->"Izrael",
                "JAM"->"Jamajka",
                "JPN"->"Japonia",
                "YEM"->"Jemen",
                "JEY"->"Jersey",
                "JOR"->"Jordania",
                "CYM"->"Kajmany",
                "KHM"->"Kambodża",
                "CMR"->"Kamerun",
                "CAN"->"Kanada",
                "QAT"->"Katar",
                "KAZ"->"Kazachstan",
                "KEN"->"Kenia",
                "KGZ"->"Kirgistan",
                "KIR"->"Kiribati",
                "COL"->"Kolumbia",
                "COM"->"Komory",
                "COG"->"Kongo",
                "KOR"->"Korea Południowa",
                "PRK"->"Korea Północna",
                "CRI"->"Kostaryka",
                "CUB"->"Kuba",
                "KWT"->"Kuwejt",
                "LAO"->"Laos",
                "LSO"->"Lesotho",
                "LBN"->"Liban",
                "LBR"->"Liberia",
                "LBY"->"Libia",
                "LIE"->"Liechtenstein",
                "LTU"->"Litwa",
                "LUX"->"Luksemburg",
                "LVA"->"Łotwa",
                "MKD"->"Macedonia",
                "MDG"->"Madagaskar",
                "MYT"->"Majotta",
                "MAC"->"Makau",
                "MWI"->"Malawi",
                "MDV"->"Malediwy",
                "MYS"->"Malezja",
                "MLI"->"Mali",
                "MLT"->"Malta",
                "MNP"->"Mariany Północne",
                "MAR"->"Maroko",
                "MTQ"->"Martynika",
                "MRT"->"Mauretania",
                "MUS"->"Mauritius",
                "MEX"->"Meksyk",
                "FSM"->"Mikronezja",
                "MDA"->"Mołdawia",
                "MCO"->"Monako",
                "MNG"->"Mongolia",
                "MSR"->"Montserrat",
                "MOZ"->"Mozambik",
                "NAM"->"Namibia",
                "NRU"->"Nauru",
                "NPL"->"Nepal",
                "DEU"->"Niemcy",
                "NER"->"Niger",
                "NGA"->"Nigeria",
                "NIC"->"Nikaragua",
                "NIU"->"Niue",
                "NFK"->"Norfolk",
                "NOR"->"Norwegia",
                "NCL"->"Nowa Kaledonia",
                "NZL"->"Nowa Zelandia",
                "OMN"->"Oman",
                "PAK"->"Pakistan",
                "PLW"->"Palau",
                "PSE"->"Palestyna",
                "PAN"->"Panama",
                "PNG"->"Papua-Nowa Gwinea",
                "PRY"->"Paragwaj",
                "PER"->"Peru",
                "PCN"->"Pitcairn",
                "PYF"->"Polinezja Francuska",
                "POL"->"Polska",
                "PRI"->"Portoryko",
                "PRT"->"Portugalia",
                "TWN"->"Tajwan",
                "ZAF"->"Republika Południowej Afryki",
                "CAF"->"Republika Środkowoafrykańska",
                "CPV"->"Republika Zielonego Przylądka",
                "REU"->"Reunion",
                "RUS"->"Rosja",
                "ROU"->"Rumunia",
                "RWA"->"Rwanda",
                "ESH"->"Sahara Zachodnia",
                "KNA"->"Saint Kitts i Nevis",
                "LCA"->"Saint Lucia",
                "VCT"->"Saint Vincent i Grenadyny",
                "BLM"->"Saint-Barthélemy",
                "MAF"->"Saint-Martin",
                "SPM"->"Saint-Pierre i Miquelon",
                "SLV"->"Salwador",
                "ASM"->"Samoa Amerykańskie",
                "WSM"->"Samoa",
                "SMR"->"San Marino",
                "SEN"->"Senegal",
                "SRB"->"Serbia",
                "SYC"->"Seszele",
                "SLE"->"Sierra Leone",
                "SGP"->"Singapur",
                "SXM"->"Sint Maarten",
                "SVK"->"Słowacja",
                "SVN"->"Słowenia",
                "SOM"->"Somalia",
                "LKA"->"Sri Lanka",
                "USA"->"Stany Zjednoczone",
                "SWZ"->"Suazi",
                "SDN"->"Sudan",
                "SUR"->"Surinam",
                "SJM"->"Svalbard i Jan Mayen",
                "SYR"->"Syria",
                "CHE"->"Szwajcaria",
                "SWE"->"Szwecja",
                "TJK"->"Tadżykistan",
                "THA"->"Tajlandia",
                "TZA"->"Tanzania",
                "TLS"->"Timor Wschodni",
                "TGO"->"Togo",
                "TKL"->"Tokelau",
                "TON"->"Tonga",
                "TTO"->"Trynidad i Tobago",
                "TUN"->"Tunezja",
                "TUR"->"Turcja",
                "TKM"->"Turkmenistan",
                "TCA"->"Turks i Caicos",
                "TUV"->"Tuvalu",
                "UGA"->"Uganda",
                "UKR"->"Ukraina",
                "URY"->"Urugwaj",
                "UZB"->"Uzbekistan",
                "VUT"->"Vanuatu",
                "WLF"->"Wallis i Futuna",
                "VAT"->"Watykan",
                "VEN"->"Wenezuela",
                "HUN"->"Węgry",
                "GBR"->"Wielka Brytania",
                "VNM"->"Wietnam",
                "ITA"->"Włochy",
                "CIV"->"Wybrzeże Kości Słoniowej",
                "BVT"->"Wyspa Bouveta",
                "CXR"->"Wyspa Bożego Narodzenia",
                "IMN"->"Wyspa Man",
                "SHN"->"Wyspa Świętej Heleny, Wyspa Wniebowstąpienia i Tristan da Cunha",
                "ALA"->"Wyspy Alandzkie",
                "COK"->"Wyspy Cooka",
                "VIR"->"Wyspy Dziewicze Stanów Zjednoczonych",
                "HMD"->"Wyspy Heard i McDonalda",
                "CCK"->"Wyspy Kokosowe",
                "MHL"->"Wyspy Marshalla",
                "FRO"->"Wyspy Owcze",
                "SLB"->"Wyspy Salomona",
                "STP"->"Wyspy Świętego Tomasza i Książęca",
                "ZMB"->"Zambia",
                "ZWE"->"Zimbabwe",
                "ARE"->"Zjednoczone Emiraty Arabskie"
            ) // pl end
    )

    private lazy val iocToIsoMap = Map(
        "ALG" -> "DZA", // Algeria
        "ANG" -> "AGO", // Angola
        "BAH" -> "BHS", // Bahamas
        "BAN" -> "BGD", // Bangladesh
        "BAR" -> "BRB", // Barbados
        "BER" -> "BMU", // Bermuda
        "BHU" -> "BTN", // Bhutan
        "BIZ" -> "BLZ", // Belize
        "BOT" -> "BWA", // Botswana
        "BUL" -> "BGR", // Bulgaria
        "BUR" -> "BFA", // Burkina Faso
        "CAM" -> "KHM", // Cambodia
        "CAY" -> "CYM", // Caymans
        "CHI" -> "CHL", // Chile
        "CGO" -> "COG", // Congo
        "CHA" -> "TCD", // Chad
        "CRC" -> "CRI", // Costa Rica
        "CRO" -> "HRV", // Croatia
        "DEN" -> "DNK", // Denmark
        "ESA" -> "SLV", // El Salvador
        "FIJ" -> "FJI", // Fiji
        "GAM" -> "GMB", // Gambia
        "GBS" -> "GNB", // Guinea-Bissau
        "GEQ" -> "GNQ", // Equatorial Guinea
        "GER" -> "DEU", // Germany
        "GRE" -> "GRC", // Greece
        "GRN" -> "GRD", // Grenada
        "GUA" -> "GTM", // Guatemala
        "GUI" -> "GIN", // Guinea
        "HAI" -> "HTI", // Haiti
        "HON" -> "HND", // Honduras
        "INA" -> "IDN", // Indonesia
        "IRI" -> "IRN", // Iran
        "ISV" -> "VIR", // U.S. Virgin Islands
        "IVB" -> "VGB", // British Virgin Islands
        "KSA" -> "SAU", // Saudi Arabia
        "KUW" -> "KWT", // Kuwait
        "LAT" -> "LVA", // Latvia
        "LBA" -> "LBY", // Libya
        "LES" -> "LSO", // Lesotho
        "LIB" -> "LBN", // Lebanon
        "MAD" -> "MDG", // Madagascar
        "MAS" -> "MYS", // Malaysia
        "MAW" -> "MWI", // Malawi
        "MGL" -> "MNG", // Mongolia
        "MON" -> "MCO", // Monaco
        "MRI" -> "MUS", // Mauritius
        "MTN" -> "MRT", // Mauritania
        "MYA" -> "MMR", // Myanmar
        "NCA" -> "NIC", // Nicaragua
        "NED" -> "NLD", // Netherlands
        "NEP" -> "NPL", // Nepal
        "NGR" -> "NGA", // Nigeria
        "NIG" -> "NER", // Niger
        "OMA" -> "OMN", // Oman
        "PAR" -> "PRY", // Paraguay
        "PHI" -> "PHL", // Philippines
        "PLE" -> "PSE", // Palestine
        "POR" -> "PRT", // Portugal
        "PUR" -> "PRI", // Puerto Rico
        "RSA" -> "ZAF", // South Africa
        "SAM" -> "WSM", // Samoa
        "SEY" -> "SYC", // Seychelles
        "SIN" -> "SGP", // Singapore
        "SKN" -> "KNA", // Saint Kitts and Nevis
        "SLO" -> "SVN", // Slovenia
        "SOL" -> "SLB", // Solomon Islands
        "SRI" -> "LKA", // Sri Lanka
        "SUD" -> "SDN", // Sudan
        "SUI" -> "CHE", // Switzerland
        "TAN" -> "TZN", // Tanzania
        "TGA" -> "TON", // Tonga
        "TOG" -> "TGO", // Togo
        "TPE" -> "TWN", // Taiwan
        "UAE" -> "ARE", // United Arab Emirates
        "URU" -> "URY", // Uruguay
        "VAN" -> "VUT", // Vanuatu
        "VIE" -> "VNM", // Vietnam
        "VIN" -> "VCT", // Saint Vincent and the Grenadines
        "ZAM" -> "ZMB", // Zambia
        "ZIM" -> "ZWE"  // Zimbabwe
    )
  

    def getCodeMap(language : String) : Map[String, String] =
    {
        synchronized { storedLangCodeMap.getOrElseUpdate(language, internalGetCodeMap(language)) }
    }

    // handle languages where we need full country name templates eg {{France}} not just {{FRA}}
    def getFullCountryNames(language : String) : Set[String] =
    {
        language match
        {
          case "fr" => synchronized { cachedCountryNames.getOrElseUpdate(language, getCodeMap(language).values.toSet) }
          case _ => Set[String]()
        }
    }
 
    private val storedLangCodeMap = mutable.Map[String,Map[String,String]]();
    private val cachedCountryNames = mutable.Map[String,Set[String]]();

   //for major languages (e.g fr, de, ...) maybe similar to "en", see
    //http://download.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html
    private def internalGetCodeMap(language : String) : Map[String, String] =
    {
        val isomap = baseLangCodeMap.get(language) match
        {
            case Some(m) => m
            case _ =>
            {
                Locale.getISOCountries
                    .map(code => new Locale("en", code))
                    .map(locale => (locale.getISO3Country, locale.getDisplayCountry(Locale.US)))
                    .toMap ++ Map("UK"->"United Kingdom", "EU"->"European Union")
            }
        }

        val fullMap = isomap ++ ( ( language match
            {
                // NL uses iso2 lang codes
                case "nl" => iocToIsoMap ++ Locale.getISOCountries.map(code => (code, new Locale(language, code).getISO3Country)).toMap
                case _ => iocToIsoMap
            }
        ) map { case(k,v) => (k,isomap.getOrElse(v,"")) } filter { case (k,v) => v.length > 0 } )

        storedLangCodeMap += language -> fullMap
        fullMap
    }
}
